📌 Future.wait
여러 Future를 동시에 실행하고, 모두 완료될 때까지 기다린다.
결과를 리스트로 반환한다.
await Future.wait(비동기함수들)
Future<void> main() async {
List<Future<String>> futures = [
Future.delayed(Duration(seconds: 1), () => "Task 1 completed"),
Future.delayed(Duration(seconds: 2), () => "Task 2 completed"),
Future.delayed(Duration(seconds: 3), () => "Task 3 completed"),
];
List<String> results = await Future.wait(futures);
print(results); // [Task 1 completed, Task 2 completed, Task 3 completed]
}
📌 Future.any
여러 Future중 가장 먼저 완료된 Future의 결과를 반환한다.
가장 빠르게 완료된 Future의 결과만 반환한다.
Future<void> main() async {
Future<String> fastest = Future.any([
Future.delayed(Duration(seconds: 3), () => "Task 1"),
Future.delayed(Duration(seconds: 2), () => "Task 2"),
Future.delayed(Duration(seconds: 1), () => "Task 3"),
]);
print(await fastest); // Task 3
}