Promiseの例
※これはイメージです
サラダ担当
(所要時間:5分)
メイン担当
(所要時間:10分)
デザート担当
(所要時間:3分)
コース料理っぽく
食べたい
レストラン
非同期処理
1.シーザーサラダ
2.ステーキ
3.チーズケーキ
が食べたい!!
サラダ担当
(所要時間:5分)
メイン担当
(所要時間:10分)
デザート担当
(所要時間:3分)
非同期処理
先にデザート!?
非同期処理
できました!!
作成中 作成中
callback
1.シーザーサラダ
が食べたい!!
callback
callback
作成中 待機 待機
2.ステーキ
も食べたい!!
callback
待機 待機
できました!!
callback
終了 作成中 待機
3.チーズケーキ
も食べたい!!
callback
待機終了
できました!!
callback
終了 終了 作成中
callback
終了 終了
できました!!
1つ料理がくるたびに
次の料理をオーダーする
→ めんどくさい
Promise
1.シーザーサラダ
2.ステーキ
3.チーズケーキ
を順番に食べたい!!
Promise return new Promise
resolve();
終わったら
次の人に言うぞ!
サラダ
ホールスタッフ
return new Promise
resolve();
終わったら
次の人に言うぞ!
return new Promise
resolve();
終わったら
次の人に言うぞ!
Promise
承知! 待機
できました!!
次「ステーキ」
お願いします
.then()
メイン
次「チーズケーキ」
お願いします
.then()
Promise
承知!終了
できました!!
デザート
Promise
終了 終了
できました!!
終了
Promise
終了 終了
ごちそうさま!
材料がない!
reject();
材料がない!
reject();Promise
材料がない!
ホールスタッフ
申し訳ありません!
材料がなくなったため
作れません
.catch()
reject();
> < > < > <
料理が作れなかったら
ホールスタッフが謝る
or or

About promise