javascript - Wie implementiert man mehrere in einer Schleife verschachtelte Versprechen?
漂亮男人
漂亮男人 2017-06-28 09:29:10
0
1
1412

Die allgemeine Situation ist wie folgt:

Erhalten Sie zunächst ein Array (Regionen) aus einer Anfrage. Ignorieren Sie diesen Schritt. Er wurde bereits verarbeitet.
Durchlaufen Sie dieses Array, um die erforderlichen Informationen zu erhalten. Dadurch können N asynchrone Anfragen gesendet werden.
Verarbeiten Sie die zurückgegebenen Daten, nachdem alle diese asynchronen Anforderungen abgeschlossen sind.

Das Problem, auf das ich hier gestoßen bin, ist, dass jedes Mal, wenn es scheint, als würde es direkt zur äußeren Dann-Methode übergehen, nicht alle inneren Dann-Werte aufgelöst werden sollten, bevor die äußere Dann-Methode eingegeben wird? Wie soll ich meine Frage umschreiben?

var promises = [];
promises = regions.map(function (region) {
  return new Promise(function(resolve) {
    Promise.all([asyncRequest1(region), asyncRequest2(region), asyncRequest3(region), asyncRequest4(region)])
    .then(function (reses) {
      resolve(reses);
    });
  });
  
});

Promise.all([promises]).then(function(results) {
  handle(results);
});
漂亮男人
漂亮男人

Antworte allen(1)
代言

Promise.all([promises])promises 已经是数组了

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage