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
コメント
コメントを投稿