const p1 = new Promise((resolve, reject) => {
//return Promise.reject();
//Promise.reject();
}).then(() => {
console.log('then');
}).catch(e => {
console.log('catch');
});
经过测试,上面注释掉的两行代码无论执行哪一行,p1的状态都为pending,then和catch中的回调都不会被执行。所以Promise对象的状态不受其内部Promise对象状态的影响。
也就是说其内部的Promise失败了,并不等于会抛出异常,因为抛出异常会改变当前Promise对象的状态。