Open1
javascript Promiseを理解し、ググる&コピペから脱却
はじめに Promiseとは
定義
Promise オブジェクトは、非同期処理の完了 (もしくは失敗) の結果およびその結果の値を表します。
Promise - JavaScript | MDN
そもそも同期、非同期とは?
英語ではそれぞれsyncronous、asynchronousとなる。
同期・非同期と言っても具体的に何を意味するのか。
syncronous、asynchronousの意味
syncronous
asynchronous
どちらにも出てくる「同時」というキーワード。同時ということは複数の物事が対象になる。
つまり意味を具体的にすると以下の通り。
- syncronous 複数の物事が同時に起こる
- asynchronous 複数の物事が同時に起こらない
そして先程のPromiseの定義に当てはめ、私は以下のように解釈しました。
Promise オブジェクトは、同時に行うことを意図しない、他の処理と組み合わせること前提の処理の完了 (もしくは失敗) の結果およびその結果の値を表します。
Promiseは他の処理と組み合わせること前提の処理なので、周囲に自身の状態を伝える機能を持っています。
待機 (pending): 初期状態。成功も失敗もしていません。
履行 (fulfilled): 処理が成功して完了したことを意味します。
拒否 (rejected): 処理が失敗したことを意味します。
Promiseって何でPromise?
非同期処理に用いられることは分かりましたが、なぜPromiseという名前なのでしょうか?Promiseは日本語では「約束」や「保証」となります。