const p1 = new Promise(function (resolve, reject) {
setTimeout(() => reject(new Error(‘fail‘)), 3000)
})
const p2 = new Promise(function (resolve, reject) {
setTimeout(() => resolve(p1), 1000)
})
p2
.then(result => console.log(result))
.catch(error => console.log(error))
// Error: fail
当promise实例A的resolve值为另一个promise实例对象B时,这个实例对象B的状态会替代实例对象A的状态。
原文:https://www.cnblogs.com/xjt31/p/14018638.html