Ticket #5061 enhancement new
Replace gatheredResults() with something nicer that doesn't use DeferredList
|Reported by:||djfroofy||Owned by:|
gatherResults() is a leaky abstraction over DeferredList; it doesn't expose some useful things like consumeErrors making it hard to avoid unhandled errors without some weird code acrobatics. There is also some agreement (#4977) that DeferredList isn't great since it inherits from Deferred and probably would be better replaced with a functional or compositional approach; i.e. gatherResults() and DeferredList could eventually be deprecated.
I propose to add a new function to twisted.internet.defer-- gatherDeferreds(). This function would take the following arguments: deferredList (a list of Deferred objects), fireOnOneCallback (same type and semantics as for DeferredList), fireOnOneErrback (again same), consumerErrors (again same).
Eventually DeferredList and gatherResults() could be deprecated - but I think this could be a separate concern/ticket.