Heim > Web-Frontend > js-Tutorial > Wie implementiert man eine Wartefunktion in JavaScript für asynchrone Aufgaben?

Wie implementiert man eine Wartefunktion in JavaScript für asynchrone Aufgaben?

Patricia Arquette
Freigeben: 2024-10-26 03:02:27
Original
228 Leute haben es durchsucht

How to Implement a Wait Function in JavaScript for Asynchronous Tasks?

Zeitverzögerungen in JavaScript

Das Verständnis von Zeitverzögerungen in JavaScript ist entscheidend für die Erstellung reaktionsfähiger und effizienter Webanwendungen. In diesem Artikel befassen wir uns mit dem Problem, eine bestimmte Zeit abzuwarten, bevor eine Codezeile ausgeführt wird.

Das Problem:

Ein unerfahrener JavaScript-Entwickler ist darauf gestoßen Ein Problem, bei dem eine Funktion nicht wie vorgesehen wartet, bevor sie eine Bedingung auswertet. Das erwartete Verhalten besteht darin, 5 Sekunden zu warten, bevor überprüft wird, ob sich ein bestimmter Status geändert hat. Die aktuelle Funktion prüft jedoch sofort, anstatt zu warten.

Die Lösung:

Um dieses gewünschte Verhalten zu erreichen, können wir die folgenden Ansätze nutzen:

Browser:

Mit der modernen Async/Await-Syntax (verfügbar in Browsern, die ECMAScript 6 und höher unterstützen) können wir die folgende Lösung verwenden:

<code class="javascript">const delay = ms => new Promise(res => setTimeout(res, ms));

async function yourFunction() {
  await delay(5000);
  console.log("Waited 5s");

  await delay(5000);
  console.log("Waited an additional 5s");
}</code>
Nach dem Login kopieren

Dieser Ansatz vereinfacht den Code, indem er ihn synchron erscheinen lässt, obwohl er asynchron ausgeführt wird.

Node.js:

Für Node.js Version 16 und höher können wir das nutzen integrierte, auf Versprechen basierende setTimeout-Funktion:

<code class="javascript">import { setTimeout } from "timers/promises";

async function yourFunction() {
  await setTimeout(5000);
  console.log("Waited 5s");

  await setTimeout(5000);
  console.log("Waited an additional 5s");
}</code>
Nach dem Login kopieren

Achtung:

Es ist wichtig zu beachten, dass die Verwendung einer Verzögerungsfunktion zur Vermeidung von Rennbedingungen erforderlich ist (insbesondere beim Testen asynchroner Systeme). Code) sollte mit Vorsicht erfolgen, da dies oft zu suboptimalen Lösungen führen kann.

Das obige ist der detaillierte Inhalt vonWie implementiert man eine Wartefunktion in JavaScript für asynchrone Aufgaben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage