【Dart】指定時間後に遅延実行する方法

Dart

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】指定時間後に遅延実行する方法 は終わりです。

おすすめ書籍

コメント

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