javascript - async/await 捕获被拒绝的 Promise

标签 javascript node.js babeljs

我刚刚开始使用 async/await 并遇到了问题。

我可以按预期做:

async function x() {
  let y = await Promise.resolve(42);
  return y;
}

但是当我拒绝一个Promise时:

async function bad() {
  try {
   await Promise.reject('bad');
  } catch(err) {
    err; //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();

这会按预期输出 badCode here .

关于javascript - async/await 捕获被拒绝的 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090896/

相关文章:

javascript - MapBox API专属图层切换器

javascript - 用随机彩色数字制作表格

android - 如何使用 Strongloop Loopback REST API 包含和排序数组?

javascript - Gulp/Webpack 不转译 Vue 文件

javascript - 深度比较 JavaScript 函数

javascript - 如果 Array.prototype.map() 没有返回,是否被正确使用

node.js - 解析服务器云代码和 strip

npm - 错误: Cannot find scss module error after babel build

javascript - babeljs 不能正确地转换扩展类

javascript - 如何覆盖 react 引导按钮(bsStyle)的颜色?