カメリアの記事

意味があることやないことを綴ります

for 文で Promise.all()

記事「 for文の中で非同期関数を使いたいときでも慌てずPromiseする」を参考に下のようにしました。本当にこれでいいのか不安で困ります。実行のタイミングは同期でもよく分かってないので……。困ります。

でも上手くいきました。上手くいくと感動ですね。忘れないように書いておかないと。自分のコードの中ではどこにいったか分からなくなるし、いつの間にか消えているし。キーワードとしては「for promise all」なので同じ記事を見つけられる気もしますが。

追記 1 :その後、最初に書いたものが正しいのか分からなくなり、いろいろあって「 Promiseをforループで使う時の書き方を解説」を参考にするなどして、ようやく分かってきた感じです。下のようになりました。

追記 2 :それからしばらく。いくつかのプログラムの中で実際に書いているうち分かってきました。今の僕の完成形が下のものです。

let promiseArray = []
for (...) {
  promiseArray.push(
    new Promise(resolve => {
      // 処理
      resolve(処理結果)
    })
  )
}
Promise.all(promiseArray)
.then(rly => {
  // 引数 rly で処理結果の配列を受け取る
})