先上代码
var core = new Promise(function (resolve, reject) {
reject(1);
})
var a = Promise.resolve({
then: function (resolve, reject) {
return core.then(resolve, reject).catch(function (err) {
console.log('1:', err);
})
}
}).catch(function (err) {
console.log('2:', err)
})
a.then(function () {}, function () {
throw new Error(111)
})
问题:
为什么 throw new Error(111)
抛出的错误无法被console.log('1:', err);
这个函数catch而是被外面的 console.log('2:', err)
catch??