Heim > Web-Frontend > js-Tutorial > Wie kann ich mehrere asynchrone JavaScript-Funktionen gleichzeitig ausführen?

Wie kann ich mehrere asynchrone JavaScript-Funktionen gleichzeitig ausführen?

Mary-Kate Olsen
Freigeben: 2024-11-19 07:14:02
Original
842 Leute haben es durchsucht

How Can I Execute Multiple Async JavaScript Functions Concurrently?

Gleichzeitige Ausführung asynchroner Funktionen in JavaScript

In JavaScript kann das Warten auf mehrere asynchrone Funktionen den Eindruck erwecken, dass sie nacheinander und nicht gleichzeitig ausgeführt werden. Dies wirft die Frage auf: Wie können wir eine parallele Ausführung dieser Funktionen erreichen?

Verwendung von Promise.all() für Parallelität

Um asynchrone Funktionen parallel auszuführen, können Sie Promise.all( ) Funktion. Es nimmt ein Array von Versprechen als Argument und gibt ein einzelnes Versprechen zurück, das aufgelöst wird, wenn alle Versprechen im Array aufgelöst werden.

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

In diesem Code werden sowohl someCall() als auch anotherCall() gleichzeitig aufgerufen. und das Skript fährt erst fort, wenn die Ausführung beider Funktionen abgeschlossen ist.

Speichern der Ergebnisse

Wenn Sie auf die Ergebnisse der parallelen Asynchronisierung zugreifen möchten Aufrufe können Sie das von Promise.all() zurückgegebene Array zerstören:

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

Vorbehalt: Fail-Fast-Verhalten

Es ist wichtig zu beachten, dass Promise.all() einem „fail“ folgt -schneller" Ansatz. Wenn eines der Versprechen im Array abgelehnt wird, wird das gesamte Promise.all()-Versprechen mit dem Fehler des ersten fehlgeschlagenen Versprechens abgelehnt:

// If any of the promises fails, it will reject
Promise.all([happy('happy', 100), sad('sad', 50)]).then(console.log).catch(console.log);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere asynchrone JavaScript-Funktionen gleichzeitig ausführen?. 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