javascript - Comment implémenter plusieurs promesses imbriquées dans une boucle?
漂亮男人
漂亮男人 2017-06-28 09:29:10
0
1
1369

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);
});
漂亮男人
漂亮男人

répondre à tous(1)
代言

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal