Promise.resolve()
.then(() => {
return new Error("error!!!");
})
.then((res) => {
console.log("then: ", res);
})
.catch((err) => {
console.log("catch: ", err);
});
解析
返回任意一个非 promise 的值都会被包裹成 promise 对象,因此这里的return new Error('error!!!')
也被包裹成了return Promise.resolve(new Error('error!!!'))
。
结果
"then: " "Error: error!!!"
此题中,当然如果想抛出一个错误的话,可以用下面的任意一种:
return Promise.reject(new Error("error!!!"));
// or
throw new Error("error!!!");