实例对象promise中的一个属性 PromiseState
pending 变为 resolved/fullfilled
pending 变为 rejected
注意
对象的状态不受外界影响
只有这两种,且一个 promise 对象只能改变一次
一旦状态改变,就不会再变,任何时候都可以得到这个结果
无论成功还是失败,都会有一个结果数据。成功的结果数据一般称为 value,而失败的一般称为 reason。
2. 一个 promise 指定多个成功/失败回调函数,都会调用吗?
当 promise
改变为对应状态时都会调用(注意状态必须改变)
const p = new Promise((resolve, reject) => {
//resolve(1) // 状态由pending 变为 resolved/fullfilled
reject(2) // 状态由pending 变为 rejected
})
p.then(
value => {},
reason => {console.log('reason',reason)}
)
p.then(
value => {},
reason => {console.log('reason2',reason)}
)
// reason 2
// reason2 2