Promise.reject('a').then(()=>{
console.log('a1')
}).catch(()=>{
console.log('a2')
});
Promise.reject('b').catch(()=>{
console.log('b1')
}).then(()=>{
console.log('b2')
});
Promise.reject('c').then(()=>{
console.log('c1')
}).catch(()=>{
console.log('c2')
});
最终执行结果为:
b1
a2
c2
b2
-------------------
为什么b1会在a2输出之前输出,c2会在b2输出之前输出
相似的问题,最近刚答过
求解Promise的一道面试题 - 两猿四脚的回答