[解決済み] Dartで、再発する関数を実行するには?
2023-03-23 02:35:34
質問
ある関数を遅延させながら何度も実行したいです。Dartでこれを行うにはどうすればよいですか?
どのように解決するのですか?
を使用することができます。
Timer
クラスを使って、ワンショットや繰り返しの関数をスケジュールすることができます。
繰り返し
ここでは、リピート機能の実行方法を説明します。
import 'dart:async';
main() {
const oneSec = Duration(seconds:1);
Timer.periodic(oneSec, (Timer t) => print('hi!'));
}
タイマは2つの引数、期間と実行する関数を取ります。持続時間は
Duration
. コールバックは1つのパラメータ、タイマー自身を取らなければなりません。
リピータータイマーをキャンセルする
使用方法
timer.cancel()
を使って、リピータータイマーをキャンセルすることができます。これは、リピータータイマーからコールバック実行にタイマーが渡される理由の1つです。
遅延後のワンショット
ワンショット機能を遅延後にスケジュールする(一度だけ、将来のある時刻に実行する)。
import 'dart:async';
main() {
const twentyMillis = Duration(milliseconds:20);
Timer(twentyMillis, () => print('hi!'));
}
ワンショットタイマーのコールバックはパラメータを取らないことに注意してください。
できるだけ早くワンショット
ある関数をできるだけ早く、少なくともイベントループの1ティック先の未来に実行するよう要求することもできます。
import 'dart:async';
main() {
Timer.run(() => print('hi!'));
}
HTMLでは
タイマーはHTMLでも動作します。実際には
window.setTimeout
が削除されたので、タイマは今後関数を実行する唯一の方法です。
関連
-
[解決済み] Flutterで16進数の色文字列を使用するにはどうすればよいですか?
-
[解決済み] DartでSingletonを構築する方法とは?
-
[解決済み] Dartの「const」キーワードと「final」キーワードの違いは何ですか?
-
[解決済み】Dartの名前付きパラメータと位置付きパラメータの違いは何ですか?
-
[解決済み】Flutterで少し遅れてからコードを実行する方法は?
-
[解決済み】Dartで文字列を数値にパースする方法は?
-
[解決済み] Dartで実行時型チェックを行うには?
-
[解決済み] Dartのasyncとasync*の違いは何ですか?
-
[解決済み] ローカルフラッターパッケージを別のフラッターアプリケーションで使用するには?
-
[解決済み] Dartでintをdoubleに変換する簡単な方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] フラッターサークルデザイン
-
[解決済み] Flutter SVG レンダリング
-
[解決済み] InitStateメソッドで非同期データをロードする方法はありますか?
-
[解決済み] Dartで "new "キーワードを使う必要があるのか?
-
[解決済み] Dart マルチプルコンストラクタ
-
[解決済み] DartでListを等しく比較するにはどうしたらいいですか?
-
[解決済み] POSTリクエスト中にCERTIFICATE_VERIFY_FAILEDエラーが発生した場合、どのように解決しますか?
-
[解決済み] DartのNULLチェックのイディオムやベストプラクティスは何ですか?
-
[解決済み] Dartでintをdoubleに変換する簡単な方法はありますか?
-
[解決済み] Flutterでのテキストフィールドの検証