Internet JavaScript:Sleep and setTimeout

プログラマは、プログラムの実行を短時間中断する必要がある状況に陥ることがあります。 これを達成するために、さまざまなプログラミング言語にはさまざまな可能性があります。 JavaScriptでは、ES6以降、この目的のためにPromiseを使用するオプションがあります。

  • sleep関数の実装
  • 遅延付き関数の実行

sleep関数の実装

JavaScriptで数秒を中断するには、小さな補助関数を自分で定義すれば十分です。 Sleep関数はPromiseオブジェクトを返し、その状態は希望の時間の後にミリ秒単位でresolvedに設定されます。
function Sleep(milliseconds) {
return new Promise(resolve => setTimeout(resolve, milliseconds));
}
この機能を今すぐ使用する場合は、関数にasyncキーワードをマークする必要があります。 Asyncがなければ、awaitコマンドを使用することはできません。 例示的なアプリケーションは、次の機能を示しています:
async function test() {
console.log("Vor der sleep-Funktion");
await Sleep(3000); // Pausiert die Funktion für 3 Sekunden
console.log("Nach der Sleep Funktion");
}
この関数は、sleep関数を呼び出します。 Awaitを使用すると、関数の実行は指定された時間停止します。 Awaitがなければ、関数はSleepによって返されたPromiseオブジェクトの解決を待たないため、実行を続行します。

遅延で関数を実行する

一定の待ち時間の後に関数を実行するには、setTimeout関数があります。 SetTimeoutを使用すると、実行されるいわゆるコールバック関数を渡します。 この機能は、指定された時間の後に実行されます。 だから、呼び出される関数を自分で定義してください:
function callback() {
console.log("Callback Funktion wird aufgerufen");
}

これで、setTimeoutを使用して、指定された遅延で作成した関数を呼び出すことができます。 ただし、次のコードは待ち時間なしで実行されることに注意してください:
setTimeout(callback, 3000); //Ruft die Callback-Funktion nach 3 Sekunden auf
console.log("Test"); //Wird sofort, ohne Wartezeit ausgeführt

あるいは、関数式を引数としてsetTimeoutに渡すこともできます。 したがって、次のようにsetTimeoutを呼び出すこともできます:
setTimeout(function() {
console.log("Callback Funktion wird aufgerufen");
}, 3000);
ここでの利点は、新しい関数を定義する必要がなく、遅延後にどのコードブロックが実行されるかをすぐに確認できることです。

チップフィードバックに関するフィードバック
チップフィードバックに関するフィードバック

コメントを残す

メールアドレスが公開されることはありません。

More: