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

Promise的狀態(tài)

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

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

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

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

  2. settled包括了fulfilled

    網(wǎng)友評論