JavaScript ループで遅延を適切に実装するにはどうすればよいですか?
Jan 02, 2025 pm 08:47 PMJavaScript ループでの遅延の実装
JavaScript でループを操作する場合、実行を制御するために遅延またはスリープ期間を導入する必要がある場合があります。流れ。 setTimeout() 関数を使用してこれを実現する方法を見てみましょう。
試み 1: setTimeout() を使用する
一般的なアプローチの 1 つは、setTimeout() を使用して時間ベースの遅延。ただし、setTimeout() をループ内に直接配置すると、予期しない動作が発生する可能性があります。たとえば、次のコードは各反復を 3 秒遅らせようとします:
for (var start = 1; start < 10; start++) { setTimeout(function () { alert('hello'); }, 3000); }
このコードでは、最初は 3 秒後に「hello」というメッセージが表示されますが、その後は遅延なくメッセージが継続的に表示されます。これは、setTimeout() が非ブロッキングですぐに戻り、遅延期間が経過する前にループが完了できるために発生します。
代替アプローチ: 反復ループ
必要な遅延を達成するには、setTimeout() 呼び出しを含む反復ループを内部で使用できます。 function:
var i = 1; function myLoop() { setTimeout(function () { console.log('hello'); i++; if (i < 10) { myLoop(); } }, 3000); } myLoop();
この場合、関数 myLoop() が最初に呼び出され、最初の setTimeout() トリガーが設定されます。次に、setTimeout() コールバック内で、メッセージが出力され、カウンターがインクリメントされ、カウンターがまだ 10 未満の場合は、myLoop() 関数が再度呼び出されます。これにより、ループの次の反復が 3 秒の遅延が経過した後にのみトリガーされるようになります。
反復ループを setTimeout() と組み合わせて使用することで、JavaScript ループに効果的に遅延を導入し、実行フローは正確です。
以上がJavaScript ループで遅延を適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









