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?
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()]);
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.
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()]);
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);
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!