Dart StreamクラスfromFuturesコンストラクタ

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

Dart StreamクラスのfromFuturesコンストラクタについてメモ書き。

fromFuturesは複数のFutureからsingle-subscriptionを生成するコンストラクタ。
single-subscriptionについては以下を参照して欲しい。

fromFuturesは引数としてFutureを格納した配列を受け取る。
StreamイベントはFutureが完了した順に生成され、すべてのFutureが完了するとStreamは閉じられる。

コーディングでfromFuturesの動きを確認。
コード内のFuture.delayedコンストラクタについては詳細を以下に掲載しているので、ご不明な方はこちらをどうぞ。

void main() {
  Future<String> test1() async {
    return 'test1';
  }

  Future<String> test2() async {
    await Future.delayed(Duration(seconds: 3));
    return 'test2';
  }

  final stream = Stream<String>.fromFutures([test1(), test2()]);
  stream.listen((event) {
    print(event);
  }, onDone: () => print('完了'));
}

Futureを返すtest1()とtest2()をfromFuturesの引数として渡している。
実行結果。

test1
test2
完了

コメント

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