Heim > Artikel > Web-Frontend > ## Führt Promise.all() Versprechen nacheinander oder parallel aus?
Parallel oder sequentiell: Die Natur von Promise.All() in Node.js
Es stellt sich eine Frage bezüglich des Ausführungsprozesses von Promise. all() in Node.js. Behandelt es Versprechen sequentiell oder gleichzeitig?
F1: Sequentielle oder parallele Verarbeitung?
Die Dokumentation lässt Raum für Unklarheiten, also lassen Sie uns klarstellen: Promise.all(iterable) führt nicht alle Versprechen nacheinander wie eine Kette von Versprechen aus (z. B. p1.then(p2).then(p3)...) und führt sie auch nicht alle parallel aus. Vielmehr wartet es auf die Auflösung mehrerer Versprechen.
F2: Erzielen einer sequentiellen Ausführung
Wenn Promise.all() keine sequentiellen Fähigkeiten hat, gibt es eine Alternative?
Für einen vorhandenen Satz von Versprechen gibt es keine native Möglichkeit, die sequentielle Ausführung zu erzwingen. Wenn Sie jedoch über eine Iteration asynchroner Funktionen verfügen, können Sie mit Array::reduce:
iterable.reduce((p, fn) => p.then(fn), Promise.resolve())eine sequentielle Ausführungskette erstellen
Das obige ist der detaillierte Inhalt von## Führt Promise.all() Versprechen nacheinander oder parallel aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!