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