Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie führe ich Versprechen sequentiell mit Array-Parametern aus?

Mary-Kate Olsen
Freigeben: 2024-10-20 14:59:02
Original
447 Leute haben es durchsucht

How to Execute Promises Sequentially with Array Parameters?

Promises nacheinander mit Array-Parametern ausführen

In einigen Szenarien müssen Sie möglicherweise Versprechen nacheinander ausführen und dabei Parameter aus einem Array übergeben. Dies wird notwendig, wenn das Array dynamisch gefüllt wird und die Reihenfolge der Ausführung entscheidend ist.

Ein Ansatz zum Erstellen einer „pausierbaren Schleife“ ist die wiederholte Verwendung der .then-Methode. Dies kann jedoch umständlich sein und zu einer pyramidenförmigen Versprechenskette führen.

Versprechen verwenden

Eine sauberere Lösung besteht darin, Array.reduce zu verwenden, um die Versprechenskette zu einem einzigen Versprechen zusammenzufassen:

myArray.reduce(
  (p, x) =>
    p.then(() => myPromise(x)),
  Promise.resolve()
)
Nach dem Login kopieren

Dieser Ansatz erstellt eine Reihe verketteter Versprechen und gewährleistet so eine sequentielle Ausführung.

Verwendung asynchroner Funktionen

Alternativ ermöglichen asynchrone Funktionen eine besser lesbare und effizientere Implementierung. Das folgende Beispiel verwendet eine asynchrone Funktion, um die Versprechen zu iterieren und auszuführen:

const forEachSeries = async (iterable, action) => {
  for (const x of iterable) {
    await action(x)
  }
}

forEachSeries(myArray, myPromise)
Nach dem Login kopieren

Rückgabewerte sammeln

Wenn Sie die Rückgabewerte der Versprechen sammeln müssen, können Sie eine modifizierte Version verwenden der forEachSeries-Funktion namens „mapSeries“:

const mapSeries = async (iterable, fn) => {
  const results = []

  for (const x of iterable) {
    results.push(await fn(x))
  }

  return results
}
Nach dem Login kopieren

Diese Funktion iteriert durch das Iterable, sammelt die Ergebnisse der Versprechen und gibt ein Array der Ergebnisse zurück.

Mit diesen Techniken können Sie Führen Sie Versprechen einfach nacheinander aus, übergeben Sie Parameter aus einem Array, stellen Sie die Ausführungsreihenfolge sicher und sammeln Sie die Ergebnisse nach Bedarf.

Das obige ist der detaillierte Inhalt vonWie führe ich Versprechen sequentiell mit Array-Parametern aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!