【发布时间】:2019-06-27 07:45:53
【问题描述】:
我似乎无法弄清楚这一点。我有一个 POST 路由,它使用 Stripe 的 Node 包通过 Stripe 创建事务。
它可以正常工作,直到出现错误,例如资金不足的卡。当错误发生时,它应该调用catch() 块。在 catch 块中,我有 return next(err)。我肯定会使用return,因为在promise 之后还有其他代码只能在stripe.charges.create 成功后运行。
但是,即使使用return next(err),它似乎也能继续运行,正如我所拥有的console.log 所示。此外,该路线返回 200 状态并带有“已执行路线”文本。我在此路线之后还有一个全局错误捕获器。请随时查看下面附加的图片以了解更多详细信息。
有人对为什么会发生这种情况有任何想法吗?我以前做过很多次这种结构,没有任何问题;不太清楚发生了什么。
感谢您的任何意见!
【问题讨论】:
-
以后,请以文字形式发布代码,而不是屏幕截图。无法搜索、无法复制粘贴到答案中、在小屏幕上更难阅读、更高的带宽使用率等等......
标签: javascript node.js express promise