Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich in JavaScript eine Verzögerung von 5 Sekunden erstellen, bevor die nächste Codezeile ausgeführt wird?

Wie kann ich in JavaScript eine Verzögerung von 5 Sekunden erstellen, bevor die nächste Codezeile ausgeführt wird?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 17:07:03391Durchsuche

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

So warten Sie 5 Sekunden, bevor Sie die nächste Zeile ausführen


Bei der Arbeit in JavaScript ist die Steuerung des Ausführungsflusses von größter Bedeutung. Stellen Sie sich das folgende Szenario vor: Sie benötigen eine Funktion, die 5 Sekunden lang pausiert, bevor sie eine bestimmte Aktion ausführt, z. B. die Überprüfung des Werts einer Variablen.


Verwenden der setTimeout-Funktion


Traditionell haben sich JavaScript-Entwickler auf die Funktion setTimeout verlassen, um Verzögerungen bei der Ausführung einzuführen. Diese Funktion benötigt zwei Parameter: eine Zeichenfolge, die den auszuführenden Code darstellt, und eine in Millisekunden ausgedrückte Verzögerung. In Ihrem speziellen Fall reicht der folgende Codeauszug nicht aus:


<br>function stateChange(newState) {<br> setTimeout('', 5000);</p>
<p> if (newState == -1) {</p>
<pre class="brush:php;toolbar:false">alert('VIDEO HAS STOPPED');

}
}

Das Problem hierbei ist, dass die leere Zeichenfolge, die an setTimeout übergeben wird, dies nicht tut Hat keine Wirkung. Um eine Verzögerung von 5 Sekunden vor der Überprüfung der newState-Variablen zu erstellen, sollten Sie den Code wie folgt ändern:


<br>function stateChange(newState) {<br> setTimeout(() = > {</p>
<pre class="brush:php;toolbar:false">if (newState == -1) {
  alert('VIDEO HAS STOPPED');
}

}, 5000);
}

Durch die Angabe einer Funktion als erstes Argument geben Sie den Code an nach der Verzögerung ausgeführt werden. Jetzt hält die Funktion genau 5 Sekunden lang an, bevor sie den neuen Status überprüft.


Alternative Solutions


In modernem JavaScript können Sie auch async/ nutzen. Ich warte darauf, das gleiche Ergebnis zu erzielen. Async/await vereinfacht asynchrone Vorgänge und macht Ihren Code lesbarer. So implementieren Sie es für Ihr Szenario:


<br>const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));</p>
<p>async function stateChange(newState) {<br>wait delay(5000);</p>
<p>if (newState == -1 ) {</p>
<pre class="brush:php;toolbar:false">alert('VIDEO HAS STOPPED');

}
}

Dieser Code verwendet die Verzögerungsfunktion, die ein Promise zurückgibt, das nach der angegebenen Verzögerung aufgelöst wird. Durch die Verwendung von async/await deklarieren Sie die stateChange-Funktion als asynchrone Funktion und warten auf den Abschluss der Verzögerung, wobei Sie eine 5-sekündige Pause einhalten, bevor Sie den newState überprüfen.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript eine Verzögerung von 5 Sekunden erstellen, bevor die nächste Codezeile ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn