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 be added to your pubspec.yaml, and 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 many 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...