Dartで、遅延実行させる方法をご紹介します!
方法
遅延実行させる方法には、大きく分けて2つあります。
一つは、sleep を使う方法、もう一つは、Future.delayed を使う方法です。
sleep
sleep を使用する場合は、Duration で時間を指定して使用します。以下の例では、3秒の遅延になっています。なお、dart:io をインポートが必要です。
sleep は、スレッドをブロックします。
import 'dart:io';
print(DateTime.now());
sleep(Duration(seconds: 3));
print(DateTime.now());
Future.delayed
Future.delayed を使用する方法は、2つあります。
Future.delayed は、非同期なので、スレッドをブロックしません。
await を使う方法
await を使用する場合は、以下のようにします。遅延時間は、sleep と同じように Duration で指定します。
print(DateTime.now());
await Future.delayed(Duration(seconds: 3));
print(DateTime.now());
await を使わない方法
await を使用しない場合は、以下のようにします。
print("1:${DateTime.now()}");
Future.delayed(Duration(seconds: 3), () {
print("2:${DateTime.now()}");
});
print("3:${DateTime.now()}");
実行結果は、以下のようになります。スレッドをブロックしないので、3番目の print が2番目のprint よりも先に実行されています。
I/flutter (21633): 1:2024-02-17 10:04:37.993660
I/flutter (21633): 3:2024-02-17 10:04:37.995254
I/flutter (21633): 2:2024-02-17 10:04:41.002738
まとめ
Dart で指定時間後に遅延実行する方法について紹介しました!
- 遅延実行の方法は以下2種類
- sleep
- Future.delayed
- await を使用したパターンと使用しないパターンがある
以上で、【Dart】指定時間後に遅延実行する方法 は終わりです。
コメント