Heim > Web-Frontend > js-Tutorial > Wie kann ich auf frühere Promise-Ergebnisse in einer JavaScript .then()-Kette zugreifen?

Wie kann ich auf frühere Promise-Ergebnisse in einer JavaScript .then()-Kette zugreifen?

Mary-Kate Olsen
Freigeben: 2024-12-27 14:59:10
Original
906 Leute haben es durchsucht

How Can I Access Previous Promise Results in a JavaScript .then() Chain?

Der Zugriff auf frühere Versprechen führt zu einer .then()-Kette

Beim Streben nach Strukturierung von Code mithilfe von Versprechen wird eine „flache Versprechenskette“ erstellt. Es können mehrere .then()-Callbacks erstellt werden. Allerdings kann der Zugriff auf Zwischenergebnisse innerhalb dieser Kette eine Herausforderung darstellen, da sie normalerweise nicht im Bereich nachfolgender Rückrufe liegen.

Unterbrechung der Kette

Um auf Zwischenwerte zuzugreifen, sollten Sie Folgendes in Betracht ziehen Brechen Sie die Kette in kleinere Stücke. Anstatt einen einzelnen Rückruf anzuhängen und zu versuchen, seinen Parameter wiederholt zu verwenden, fügen Sie mehrere Rückrufe an dasselbe Versprechen an, bei dem jeder Ergebniswert erforderlich ist. Durch die Einbindung von Versprechenskombinatoren, die von der Bibliothek bereitgestellt werden, kann der Ergebniswert erstellt werden.

Dieser Ansatz vereinfacht den Kontrollfluss, verbessert die Zusammensetzung und erleichtert die Modularisierung.

Geändertes Codebeispiel:

function getExample() {
  var a = promiseA(...);
  var b = a.then(function (resultA) {
    // some processing
    return promiseB(...);
  });
  return Promise.all([a, b]).then(function ([resultA, resultB]) {
    // more processing
    return // something using both resultA and resultB
  });
}
Nach dem Login kopieren

ES5-Alternative:

…
return a.then(function(resultA) {
  return b.then(function(resultB) {
    // more processing
    return // something using both resultA and resultB
  });
});
Nach dem Login kopieren

Bluebird Lösung:

…
return Promise.join(a, b, function(resultA, resultB) { … });
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich auf frühere Promise-Ergebnisse in einer JavaScript .then()-Kette zugreifen?. 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