Dart Futureクラスstatic any()メソッド

Dar言語StreamクラスtoSet()メソッドDart

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

コメント

タイトルとURLをコピーしました