Heim > Web-Frontend > js-Tutorial > Wie kann ich Async-Funktionen parallel in JavaScript ausführen?

Wie kann ich Async-Funktionen parallel in JavaScript ausführen?

Mary-Kate Olsen
Freigeben: 2024-11-24 03:35:10
Original
485 Leute haben es durchsucht

How Can I Execute Async Functions in Parallel in JavaScript?

Asynchrone Funktionen parallel ausführen

In ES7/ES2016 ist die sequentielle Ausführung von Warteausdrücken das Standardverhalten, ähnlich der Verkettung von Versprechen mit . Dann(). Um asynchrone Aufrufe jedoch parallel durchzuführen, gibt es alternative Ansätze.

Parallele Ausführung mit Promise.all()

Eine elegante Lösung ist die Verwendung von Promise.all( ). Diese Methode akzeptiert eine Reihe von Versprechen und gibt ein einzelnes Versprechen zurück, das zu einer Reihe von Ergebnissen aufgelöst wird:

await Promise.all([someCall(), anotherCall()]);
Nach dem Login kopieren

Um die einzelnen Ergebnisse zu speichern, können Sie den Rückgabewert in Variablen zerlegen:

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
Nach dem Login kopieren

Vorsichtsmaßnahme: Behandeln Sie Ablehnungen mit Catch()

Beachten Sie, dass Promise.all() „fail fast“ implementiert. Semantik. Das heißt, wenn eines der Eingabeversprechen abgelehnt wird, wird die gesamte Operation mit dem Fehler aus dem fehlgeschlagenen Versprechen abgelehnt. Um potenzielle Fehler abzufangen und zu behandeln, verwenden Sie die Methode .catch().

Zum Beispiel:

Promise.all([happy('happy', 100), sad('sad', 50)])
  .then(console.log).catch(console.log); // Logs 'sad'
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Async-Funktionen parallel in JavaScript ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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