仕事ですぐに使えるTypeScriptを読んでいくその14

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

非同期処理4

昨日はpromiseの分岐と待ち合わせの制御についてでした

ループの中の await に注意

制御構文と非同期のところで非同期処理と制御構文の組み合わせは便利ということでしたが
forをはじめとしたループ文の中にあるawaitについては注意が必要。

// doSomethingで外部APIをコールしていると要素数xアクセス分だけ時間がかかる

for (const value of iterable) {
  await doSomething(value); 
}

上記の例の場合を回避したい場合はPromise.allを使用する
一度に全部処理を投げられるのでループごとにAPIコールをかけるよりずっと処理が早くなる。
ただし外部APIの場合リクエストの上限があるため、エラーとなってしまう。
APIを利用して並列数の制御やmapに似た機能を持つp-mapなどを使用してリクエスト上限に引っかからないようにする

長々と非同期処理をやってきましたが、結局謎が深まっただけでした・・・
復習を胸に

今日はここまで。