はじめに
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秒後に実行される');
さいごに
調べましたが、なんのことはなかったですね。
コメント