<itemvalue="Waits for multiple futures to complete and collects their results. Returns a future which will complete once all the provided futures have completed, either with their results, or with an error if any of the provided futures fail. The value of the returned future will be a list of all the values that were produced in the order that the futures are provided by iterating [futures]. If any future completes with an error, then the returned future completes with that error. If further futures also complete with errors, those errors are discarded. If `eagerError` is true, the returned future completes with an error immediately on the first error from one of the futures. Otherwise all futures must complete before the returned future is completed (still with the first error; the remaining errors are silently dropped). In the case of an error, [cleanUp] (if provided), is invoked on any non-null result of successful futures. This makes it possible to `cleanUp` resources that would otherwise be lost (since the returned future does not provide access to these values). The [cleanUp] function is unused if there is no error. The call to [cleanUp] should not throw. If it does, the error will be an uncaught asynchronous error."/>
<itemvalue="Waits for multiple futures to complete and collects their results. Returns a future which will complete once all the provided futures have completed, either with their results, or with an error if any of the provided futures fail. The value of the returned future will be a list of all the values that were produced in the order that the futures are provided by iterating [futures]. If any future completes with an error, then the returned future completes with that error. If further futures also complete with errors, those errors are discarded. If `eagerError` is true, the returned future completes with an error immediately on the first error from one of the futures. Otherwise all futures must complete before the returned future is completed (still with the first error; the remaining errors are silently dropped). In the case of an error, [cleanUp] (if provided), is invoked on any non-null result of successful futures. This makes it possible to `cleanUp` resources that would otherwise be lost (since the returned future does not provide access to these values). The [cleanUp] function is unused if there is no error. The call to [cleanUp] should not throw. If it does, the error will be an uncaught asynchronous error."/>
<itemvalue="Performs an action for each element of the iterable, in turn. The [action] may be either synchronous or asynchronous. Calls [action] with each element in [elements] in order. If the call to [action] returns a `Future<T>`, the iteration waits until the future is completed before continuing with the next element. Returns a [Future] that completes with `null` when all elements have been processed. Non-[Future] return values, and completion-values of returned [Future]s, are discarded. Any error from [action], synchronous or asynchronous, will stop the iteration and be reported in the returned [Future]."/>
<itemvalue="Performs an action for each element of the iterable, in turn. The [action] may be either synchronous or asynchronous. Calls [action] with each element in [elements] in order. If the call to [action] returns a `Future<T>`, the iteration waits until the future is completed before continuing with the next element. Returns a [Future] that completes with `null` when all elements have been processed. Non-[Future] return values, and completion-values of returned [Future]s, are discarded. Any error from [action], synchronous or asynchronous, will stop the iteration and be reported in the returned [Future]."/>