Promise.resolve()
.then(
function success(res) {
throw new Error("error!!!");
},
function fail1(err) {
console.log("fail1", err);
},
)
.catch(function fail2(err) {
console.log("fail2", err);
});
解析
由于Promise调用的是resolve(),因此.then()执行的应该是success()函数,可是success()函数抛出的是一个错误,它会被后面的catch()给捕获到,而不是被fail1函数捕获。
结果
fail2 Error: error!!!
at success