


Wie führt man eine Reihe von Versprechen in der richtigen Reihenfolge aus und behandelt Ablehnungen?
So synchronisieren Sie eine Folge von Versprechen
In diesem Szenario müssen Sie sicherstellen, dass:
- Versprechen werden auf die gleiche Weise gelöst Reihenfolge, in der sie im Array aufgelistet werden.
- Wenn ein Element abgelehnt wird, sollte die gesamte Sequenz abgelehnt werden ablehnen.
Obwohl es hierfür keine direkte integrierte Lösung gibt, gibt es folgende Möglichkeiten, dieses Verhalten zu erreichen:
Manuelle Iteration mithilfe von Rekursion:
function sequence(arr) { const index = 0; function next() { if (index < arr.length) { arr[index]().then(next).catch(reject); index++; } } next(); }
Verwenden Reduzieren:
function sequence(arr) { return arr.reduce((p, item) => { return p.then(() => item()); // Assuming each element is a promise-returning function }, Promise.resolve()); }
Verwendung von Promise.mapSeries:
Wenn Sie die Bluebird Promise-Bibliothek verwenden, können Sie deren Promise.mapSeries-Methode verwenden:
function sequence(arr) { return Promise.mapSeries(arr, item => item()); }
Mit ES7 Async/Await:
Falls unterstützt, können Sie async/await verwenden, um dies zu erreichen:
async function sequence(arr) { const results = []; for (let item of arr) { results.push(await item()); } return results; }
Spex-Bibliothek verwenden:
Die Spex-Bibliothek bietet eine Sequenzmethode, mit der Sie über eine dynamische Sequenz iterieren können verspricht:
import { sequence } from 'spex'; function sequence(nextPromise) { // while nextPromise() creates and returns another promise, continue resolving it; }
Denken Sie daran, wenn ein Element im Array abgelehnt wird, wird die Sequenz abgelehnt, sobald diese Ablehnung auftritt. Dieses Verhalten stellt sicher, dass keine weiteren Elemente verarbeitet werden.
Das obige ist der detaillierte Inhalt vonWie führt man eine Reihe von Versprechen in der richtigen Reihenfolge aus und behandelt Ablehnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
