update.async/awaitが使える環境がまぁまぁ増えてきてNodeとかでは普通に使うようになりました。みんな一回は頭を悩ませるのはiterate周りだと思います。forEachとか雰囲気でかくと下みたいな感じになるけど、あくまでasyncキーワードはpromiseを返してくれるようにしてくれて、awaitはpromiseを待つっていう単純な機能を提供するものなのでforEach自身がpromiseを返さない限りはこのコードはうまく動かない。期待値は[2,3,4,5,6]だけど実際は[]})()forEachの各イテレーションの返り値はasyncキーワードによってpromiseになってるけど、forEach自身が何も返却しないのでそれをawaitしても当然次の処理まで待機されない。[2,3,4,5,6]})();mapmapは返り値が配列なので比較的楽。6]})()reducereduceが一番苦しむ。forステートメントでも簡単に解決できないし返り値が個々の配列でもないので。これはPromise1のthenでPromise2をreturnしたら、Promiseのchainの返り値がPromise2になる原理をうまく使って解決する。3})()初期値をPromise.resolveでwrapすることで即時に完了するPromiseにして、awaitで待機して真の初期値を得る。その後、値をreturnするとasyncキーワードによってpromiseでラッップされ、それが次の初期値となる。この繰り返しでPromiseのchainを作って全体の返り値を最後に返されるPromiseにする。これによって全体を一つのpromiseにしてしまうことができるのでawaitキーワード一個で全体を待つことができる。6]})()終わりにp-iteratonっていう便利なライブラリがあります。HOME'S」を始め、人々の生活に寄り添う様々な情報サービス事業を展開しています。upLoginユーザーは見つかりませんでした。