Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment implémenter plusieurs promesses imbriquées dans une boucle?

La situation générale est la suivante :

Obtenez d'abord un tableau (régions) à partir d'une requête, ignorez cette étape, il a été traité précédemment ;
Parcourez ce tableau pour obtenir les informations requises ; Cela permet d’envoyer N requêtes asynchrones.
Traitez les données renvoyées une fois toutes ces requêtes asynchrones terminées.

Le problème que j'ai rencontré ici est que chaque fois qu'il semble aller directement à la méthode then externe, tous les then internes ne devraient-ils pas être résolus avant d'entrer dans la méthode then externe ? Comment dois-je réécrire ma question ?

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);
});
漂亮男人漂亮男人2671 Il y a quelques jours1330

répondre à tous(1)je répondrai

  • 代言

    代言2017-06-28 09:31:10

    Promise.all([promises])promises Déjà un tableau

    répondre
    0
  • Annulerrépondre