asynchronous/等待拒绝承诺

我刚刚开始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 } } 

如何用async/await捕获rejected Promises

什么bad; 单是应该做的? 错误如预期的那样被捕获,你只是不做任何事情:

 async function bad() { try { await Promise.reject('bad'); } catch(err) { console.log(err); } } bad(); 

如预期的那样输出bad 。 代码在这里 。