更新時間:2022-08-19 來源:黑馬程序員 瀏覽量:
Promise,簡單來說就是一個容器,里面保存著某個未來才會結束的事件(通常是一個異步操作)的結果。從語法上說,Promise 是一個對象,從它可以獲取異步操作的消息。
例如以下一個promise的例子:
const promise = new Promise(function(resolve, reject) { if ( 異步操作成功 ){ resolve(value); } else { reject(error); } });
可以看出一個promise的構造函數(shù)包含兩個方法resolve、reject,同時根據(jù)promise+規(guī)范可知promise包含三個狀態(tài):
pending: 初始狀態(tài),既不是成功,也不是失敗狀態(tài)。
fulfilled: 意味著操作成功完成。
rejected: 意味著操作失敗。
那么我們可以可以根據(jù)這三種不同狀態(tài)去實現(xiàn)resolve、reject,以及實現(xiàn)then方法,那么一個簡單的promise雛形就出來了。