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'); }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Genial!
Completion tasa mejorada a 9.09
Coordinating Multiple Futures with Future.wait
Desliza para mostrar el menú
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'); }
¡Gracias por tus comentarios!