我刚开始使用async/await
并遇到问题。
我可以按预期做到:
async function x() {
let y = await Promise.resolve(42);
return y;
}
但是当我拒绝Promise
:
async function bad() {
try {
await Promise.reject('bad');
} catch(bad) {
bad; //AssertionError: TypeError: (0 , _errorHandler2.default) is not a function
}
}
如何使用rejected Promises
抓住async/await
?
答案 0 :(得分:19)
单独bad;
应该做什么?错误按预期捕获,您只是不做任何事情:
async function bad() {
try {
await Promise.reject('bad');
} catch(err) {
console.log(err);
}
}
bad();
按预期输出bad
。 Code here