构造函数Promise
接收一个函数作为参数,这个函数又有两个函数参数resolve
、reject
Promise
对象存在三个状态:
Pending
(进行中)Fulfilled
(已成功)Rejected
(已失败)
constructor 构造函数:
this._status = PENDING // 状态
this._value = undefined
this._fulfilledQueues = [] // 添加成功回调函数队列
this._rejcetedQueues = [] // 添加失败回调函数队列
try {
handle(this._ressolve.bind(this), this._reject.bind(this))
} catch (e) {
this._reject(e)
}
Promise then方法
then
方法必须返回一个新的promise
对象,所以promise
支持链式调用