javascript - 打开后拒绝错误 `.catch`

标签 javascript error-handling promise

这两个代码块相同吗?我希望打开 .catch() 并记录错误,但我仍然希望错误“未被捕获”,我可以返回它吗?或者是否需要将其包装在 Promise.reject() 中?

A区:

soSomething()
    .then(() => {
        return "meow"
    })
    .catch(() => {
        console.log(err)
        return err
    })

B block :

soSomething()
    .then(() => {
        return "meow"
    })
    .catch(() => {
        console.log(err)
        return Promise.reject(err)
    })

最佳答案

这两种模式并不相同。

第一个处理错误并返回已解析的 Promise,到达链接的 .then() 处的第一个函数参数。

第二个示例返回被拒绝的 Promise,到达链接的 .then().catch() 处的第二个函数参数。

I'm looking to open up .catch() and log the error but I still want the error to be "uncaught", can I just return it?

第一个模式应该满足要求。

关于javascript - 打开后拒绝错误 `.catch`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45695100/

相关文章:

javascript - 更改元素的类 onkeyup

javascript - 如何在Mapbox中添加点?

r - 列长度​​的mutate_impl中的R错误

asp.net-mvc - 为asp.net MVC 3创建自定义错误页面,需要禁用http模块

javascript - 为什么有时异步代码中的错误会使 node.js 服务器崩溃

javascript - 为什么sequelize.findOne() 没有返回结果,而我可以看到结果在我的数据库中

javascript - Angular - 从 'then' 内部返回值

javascript - 文本替换循环不起作用

javascript - 将 javascript "almost arrays"转换为 "arrays"最干净的方法是什么?

javascript - 在没有 new 关键字的情况下创建 promise