ホームページ >ウェブフロントエンド >jsチュートリアル >次のコード行を実行する前に JavaScript で 5 秒の遅延を作成するにはどうすればよいですか?

次のコード行を実行する前に JavaScript で 5 秒の遅延を作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 17:07:03472ブラウズ

How can I create a 5-second delay in JavaScript before executing the next line of code?

次の行を実行する前に 5 秒待つ方法


JavaScript で作業する場合、実行フローの制御が最も重要です。次のシナリオを考えてみましょう。変数の値のチェックなど、特定のアクションを実行する前に 5 秒間一時停止する関数が必要です。


setTimeout 関数の使用


従来、JavaScript 開発者は setTimeout 関数を利用して実行に遅延を生じさせてきました。この関数は 2 つのパラメータを取ります。実行するコードを表す文字列と、ミリ秒で表される遅延です。あなたの特定のケースでは、以下のコードの抜粋は不十分です:


<br>function stateChange(newState) {<br> setTimeout('', 5000);</p>
<p> if (newState == -1) {</p>
<p>}<br>}<br>

ここでの問題は、setTimeout に渡される空の文字列が何の効果もありません。 newState 変数をチェックする前に 5 秒の遅延を作成するには、コードを次のように変更する必要があります:


<br>function stateChange(newState) {<br> setTimeout(() = > {</p>
<p>}, 5000);<br>}<br>

最初の引数として関数を指定すると、遅延後に実行されます。これで、関数は newState をチェックする前に 5 秒間正確に一時停止します。


代替ソリューション


最新の JavaScript では、async/ を活用することもできます。同じ結果が得られるまで待ちます。 Async/await により、非同期操作が簡素化され、コードが読みやすくなります。シナリオに合わせて実装する方法は次のとおりです。


<br>const late = (ms) => new Promise(resolve => setTimeout(resolve, ms));</p>
<p>async function stateChange(newState) {<br> await遅延(5000);</p>
<p>if (newState == -1 ) {</p>
<p>}<br>}<br>

このコードは、指定された遅延後に解決される Promise を返す遅延関数を使用しています。 async/await を使用すると、stateChange 関数を非同期関数として宣言し、遅延の完了を待ち、newState をチェックする前に 5 秒間の一時停止を確保します。

以上が次のコード行を実行する前に JavaScript で 5 秒の遅延を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。