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'); }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you show an example of how to use Future.wait in Dart?
What happens if one of the futures in Future.wait fails?
Are there alternatives to Future.wait for handling multiple asynchronous tasks?
Чудово!
Completion показник покращився до 9.09
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'); }
Дякуємо за ваш відгук!