Promise的概念在ES6標準推出來之前已經(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ù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

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

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

  2. settled包括了fulfilled

    網(wǎng)友評論