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

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

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

periodicは指定した周期でイベントを発行するコンストラクタ。

第1引数はDurationクラスで実行間隔を指定する。マイナスは指定できない。
第2引数は実行する処理を記述する。
つまり、第1引数で指定した間隔で第2引数の処理が実行される。
第2引数はint型の変数を引数として受け取る。変数は0からスタートし、周期を重ねる毎に1づつ増加していく。
Stream.take()メソッドで実行回数を指定できる。

コーディングで動作を確認。

void main() {
  final stream = Stream<String>.periodic(const Duration(seconds: 1), (i) {
    int r = i + i;
    return "$i=TEST$r";
  }).take(5);

  stream.listen(
    (event) {
      print(event);
    },
    onDone: () => print("完了"),
  );
}

実行結果。
間隔は「Duration(seconds: 1)」、回数は「take(5)」を指定しているので、1秒間隔で5回処理が実行される。

0=TEST0
1=TEST2
2=TEST4
3=TEST6
4=TEST8
完了

コメント

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