現在promiseを使用して非同期なプログラムを書いています.

function wait() {
  return new Promise(function (resolve) {
    setTimeout(() => {
      resolve("hey")
    }, 4000)
  })
}

function loop() {
  promiseList = []
    [1, 2, 3, 4, 5].map(function (index) {
      promiseList.push(wait())
    })
  //5回呼び出されるwait()プログラムのresolveを完了してからreturnしたい.
  return promiseList
}

問題

  • loop()を呼び出すと,wait関数がresolveした関係なしに,5回ループするとpromiseListをreturnしてしまう.

理想動作

  • wait関数が5回resolveされた後にreturnさせたい

環境

javascript
nodeは使用していない