JavaScript - Promise を完全に理解する

Promise について学習したので簡単にまとめます。

構文

Promise の基本的な構文です。

Promise

Promise オブジェクトは、3つの状態に応じて振る舞いを変化させます。

  • pending (待機)
  • fulfilled (完了)
  • rejected (拒絶)

デフォルトは pending (待機) で、その後の処理に応じ fulfilled (完了) もしくは rejected (拒絶) に変化し、対応した引数に値を返します。

  • state: fulfilled (完了)
    • result: resolve(value)
  • state: rejected (拒絶)
    • result: reject(error)

簡単な実装例です。Promise は1秒後に resulve して結果を result に返しています。

reject も同じような要領で扱えます。

resolve と reject は共に1回だけ実行され、それ以降の処理は無視されます。

Promise チェーン

Promise は以下のチェーンを通して値を受け取ります。

  • then: 成功時の処理
  • catch: 失敗時の処理
  • finally: 必ず実行する処理

並列処理

Promise.all で複数の処理を同時に実行します。実行された処理が全て完了した時に Promise は結果を返します。

実行した Promise で reject が実行された場合、その他の処理に関わらず rejected 状態の Promise が返されます。

完全に理解した (わかってない)

MDN Web Docs
Promise

コメント