Kar*_*ric 3 javascript event-handling node.js promise
我正在使用事件处理程序来捕获未处理的承诺拒绝,在 SO 上找到:
process.on('unhandledRejection', function(error, promise) {
console.error('UNHANDLED REJECTION - Promise: ', promise, ', Error: ', error, ').');
});
Run Code Online (Sandbox Code Playgroud)
由于我使用的是nodejs +express,因此打印出代码语句的行号很棘手。我有一个自定义的 console.log2 方法来执行此操作,但我正在尝试使用拒绝处理程序来完成相同的任务。
我已经尝试了各种带有错误堆栈等的调用者/堆栈跟踪技巧,但这些方法都没有正确显示reject()语句所在的行。
编辑
为了澄清,我得到的打印输出不断显示上面的 console.error 语句所在的行号(因此每次都是同一行),然后通过各种承诺库文件/行向后工作。它完全跳过/错过了reject()语句本身所在的行。
小智 6
很大程度上取决于库,我无法重现它,但我建议您尝试使用此替代方案:
process.on('unhandledRejection', up => { throw up });
Run Code Online (Sandbox Code Playgroud)
应该比仅仅报告承诺和错误更有效,但也许在您的具体情况下它也可能无法正常工作。只是,尝试一下!...
| 归档时间: |
|
| 查看次数: |
2909 次 |
| 最近记录: |