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)變化過程用一幅圖描述:
圖中有幾個小細節(jié):
圖中的fulfill和reject只是表示指向不同結果,而不是指一個過程,在到達
fulfilled
,rejected
狀態(tài)前promise都處在pending
狀態(tài)。settled
包括了fulfilled
和網(wǎng)友評論