Promise
Promiseとは、非同期処理の最終的な結果を表すプレースホルダーオブジェクトである。pending/fulfilled/rejectedの3状態を持ち、チェーンをサポートする。
目的
非同期の結果を管理し、コールバック地獄を避け、合成可能な非同期プログラミングを実現する。
メカニズム
状態は pending → fulfilled(resolve)または rejected(reject)へ遷移する。thenは成功時のコールバックを、catchは失敗時のコールバックを登録する。thenのチェーンは非同期処理を逐次化し、Promise.all/allSettled/race は並列に合成する。
ユースケース
- 非同期プログラミング
- API呼び出しの処理
- 並列処理のコントロール