Dart Futureクラスのstatic any()メソッドについてメモ書き。
any()は引数として受け取った複数のFutureの中から、最初に完了したFutureの結果を返すstaticメソッド。引数はイテラブル型で渡す。
コーディングで確認。
Futureを返すtestTime1()〜testTime3()をany()の引数として渡す。
void main() async {
final res = await Future.any(
[testTime1(), testTime2(), testTime3()],
);
print(res);
}
Future<String> testTime1() async {
await Future.delayed(Duration(seconds: 1));
return "testTime1";
}
Future<String> testTime2() async {
await Future.delayed(Duration(seconds: 2));
return "testTime1";
}
Future<String> testTime3() async {
await Future.delayed(Duration(seconds: 3));
return "testTime1";
}
実行結果。
最初に完了したtestTime1()の結果を返す。
testTime1
コメント