首頁(yè)技術(shù)文章正文

什么是promise?說(shuō)下你了解的promise【前端面試題】

更新時(shí)間:2022-08-19 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班


Promise,簡(jiǎn)單來(lái)說(shuō)就是一個(gè)容器,里面保存著某個(gè)未來(lái)才會(huì)結(jié)束的事件(通常是一個(gè)異步操作)的結(jié)果。從語(yǔ)法上說(shuō),Promise 是一個(gè)對(duì)象,從它可以獲取異步操作的消息。

例如以下一個(gè)promise的例子:

const promise = new Promise(function(resolve, reject) {  
if ( 異步操作成功 ){    
  resolve(value);
  } else {    
    reject(error);
  }
});


可以看出一個(gè)promise的構(gòu)造函數(shù)包含兩個(gè)方法resolve、reject,同時(shí)根據(jù)promise+規(guī)范可知promise包含三個(gè)狀態(tài):

pending: 初始狀態(tài),既不是成功,也不是失敗狀態(tài)。

fulfilled: 意味著操作成功完成。

rejected: 意味著操作失敗。

那么我們可以可以根據(jù)這三種不同狀態(tài)去實(shí)現(xiàn)resolve、reject,以及實(shí)現(xiàn)then方法,那么一個(gè)簡(jiǎn)單的promise雛形就出來(lái)了。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!