PR

[Flutter][Dart]一定時間後(n秒後)に処理を呼び出す方法

Flutter

はじめに

Flutterでアプリ製作しているときに処理を一定時間後(n秒後)に実行したい!非同期処理のsleepやwaitのような使い方ができる方法があるのか?と思い、調べました。

環境

  • Flutter 2.2.1
  • Dart 2.13.1

指定秒後(n秒後)に処理を実行

やり方は簡単でFuture.delayed()を利用します。

引数のdurationいつ実行したいかを指定します。

    // パターン1 : 5秒後に実行される.
    Future.delayed(Duration(seconds: 5), () {
      print('5秒後に実行される');
    });

    // パターン2 : 5秒後に実行される.
    Future.delayed(Duration(seconds: 5)).then((_) {
      print('5秒後に実行される');
    });

2パターン記載していますが、どちらも同じ処理です。

非同期処理でsleep/waitのように待つ方法

こちらもやり方は簡単で上記と同じようにFuture.delayed()を利用します。

非同期処理なのでFuture.delayed()をawaitで待つだけです。

    // 5秒間待つ.
    await Future.delayed(Duration(seconds: 5));

    print('5秒後に実行される');

さいごに

調べましたが、なんのことはなかったですね。

おすすめ参考書

コメント

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