Promise的概念在ES6标准推出来之前已经深入人心,很多框架和第三方库都有类似的实现。但在深入理解ES6的Promise对象的时候,受之前经验的影响,很多概念给人似是而非的感觉,其中有一个特别明显的地方就是ES6中对Promise对象状态的定义以及resolved概念。
Promise的状态
Promise对象有三个状态:pending,fulfilled,rejected,MDN文档上对Promise对象状态变化过程用一幅图描述:
图中有几个小细节:
图中的fulfill和reject只是表示指向不同结果,而不是指一个过程,在到达
fulfilled
,rejected
状态前promise都处在pending
状态。settled
包括了fulfilled
和网友评论