Firing multiple Futures at the same time
When you need to run multiple Futures at the same time, there is a class that makes the process extremely easy: FutureGroup
.
FutureGroup
is available in the async
package, which must imported into your dart file as shown in the following code block:
import 'package:async/async.dart';
Please note that dart:async and async/async.dart are different libraries: in some cases, you need both to run your asynchronous code.
FutureGroup
is a collection of Futures that can be run in parallel. As all the tasks run in parallel, the time of execution is generally faster than calling each asynchronous method one after another.
When all the Futures of the collection have finished executing, a FutureGroup
returns its values as a List
, in the same order they were added into the group.
You can add Futures to a FutureGroup
using the add()
method, and when all the Futures have been added, you call the close()
method to signal that no more Futures will be...