Promise的概念在ES6標(biāo)準(zhǔn)推出來(lái)之前已經(jīng)深入人心,很多框架和第三方庫(kù)都有類似的實(shí)現(xiàn)。但在深入理解ES6的Promise對(duì)象的時(shí)候,受之前經(jīng)驗(yàn)的影響,很多概念給人似是而非的感覺(jué),其中有一個(gè)特別明顯的地方就是ES6中對(duì)Promise對(duì)象狀態(tài)的定義以及resolved概念。

Promise的狀態(tài)

Promise對(duì)象有三個(gè)狀態(tài):pending,fulfilled,rejected,MDN文檔上對(duì)Promise對(duì)象狀態(tài)變化過(guò)程用一幅圖描述:

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開(kāi)發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

圖中有幾個(gè)小細(xì)節(jié):

  1. 圖中的fulfill和reject只是表示指向不同結(jié)果,而不是指一個(gè)過(guò)程,在到達(dá)fulfilled,rejected狀態(tài)前promise都處在pending狀態(tài)。

  2. settled包括了fulfilled

    網(wǎng)友評(píng)論