Coordinating Multiple Futures with Future.wait
When you need to perform several asynchronous tasks at the same time and only proceed once all of them are finished, you can use Future.wait in Dart. This method takes a list of Future objects and returns a new Future that completes only when all the provided futures have completed. The resulting future will complete with a list containing the results of each original future, in the same order as they were provided. This is particularly useful when you want to aggregate results from multiple sources, such as fetching data from several APIs simultaneously, and then process all the data together once everything is ready.
main.dart
12345678910111213141516171819202122import 'dart:async'; Future<String> fetchUserData() async { await Future.delayed(Duration(seconds: 2)); return 'User data loaded'; } Future<String> fetchSettings() async { await Future.delayed(Duration(seconds: 3)); return 'Settings loaded'; } void main() async { print('Starting parallel fetch...'); List<String> results = await Future.wait([ fetchUserData(), fetchSettings(), ]); print('Both operations complete:'); print('Result 1: [36m${results[0]}[0m'); print('Result 2: [36m${results[1]}[0m'); }
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 9.09
Coordinating Multiple Futures with Future.wait
Swipe um das Menü anzuzeigen
When you need to perform several asynchronous tasks at the same time and only proceed once all of them are finished, you can use Future.wait in Dart. This method takes a list of Future objects and returns a new Future that completes only when all the provided futures have completed. The resulting future will complete with a list containing the results of each original future, in the same order as they were provided. This is particularly useful when you want to aggregate results from multiple sources, such as fetching data from several APIs simultaneously, and then process all the data together once everything is ready.
main.dart
12345678910111213141516171819202122import 'dart:async'; Future<String> fetchUserData() async { await Future.delayed(Duration(seconds: 2)); return 'User data loaded'; } Future<String> fetchSettings() async { await Future.delayed(Duration(seconds: 3)); return 'Settings loaded'; } void main() async { print('Starting parallel fetch...'); List<String> results = await Future.wait([ fetchUserData(), fetchSettings(), ]); print('Both operations complete:'); print('Result 1: [36m${results[0]}[0m'); print('Result 2: [36m${results[1]}[0m'); }
Danke für Ihr Feedback!