Comment exécuter les promesses de manière séquentielle, en passant les paramètres à partir d'un tableau?

var myArray = [1, 2, 3, 4, 5, 6]

function myPrommise(num){
  return new Promise(res => {
    window.setTimeout(()=>{
      res(  console.log("done: " + num)  )
    },2000)
  })
}


myPrommise(myArray[0])
  .then(x => myPrommise(myArray[1]))
  .then(x => myPrommise(myArray[2]))
  .then(x => myPrommise(myArray[3]))
  .then(x => myPrommise(myArray[4]))
  .then(x => myPrommise(myArray[5]))

Droit maintenant, si je exécuter l'instruction ci-dessus, il sera exécuté de manière séquentielle. Dans mon cas d'utilisation le tableau est rempli dynamiquement et j'ai besoin d'exécuter le myPromise() fonction de chaque membre myArray.

Comment puis-je faire un "pauseable boucle" qui passe en boucle pour chaque élément d'un tableau, d'exécuter myPromise et d'attendre la promesse d'être résolus avant de poursuivre à la prochaine itération?

Promesse.Tout ce que vous voulez
Sur son propre, ce n'est pas suffisant, car il ne permettra pas de résoudre de manière séquentielle.

OriginalL'auteur David Alsh | 2017-03-29