没有回调或承诺的异步函数的错误处理
Error handling for async functions without callback or promises
我正在使用第三方库,它做一些异步操作,但需要尝试捕获错误。它没有回调,也没有async函数的承诺。有人知道有什么库或方法可以捕获这些错误吗?我正在尝试做这样的事情。
var asyncLib = require( 'asyncLib' );
try {
asyncLib.doSomething();
} catch( e ) {
//I want to catch if doSomething throws some error
// But it doesn't because it's using async resources.
}
如果您想要处理不是通过通常渠道出现的错误,您可以尝试在域中运行代码。这将使捕获未处理的错误事件成为可能:
var d = require('domain').create();
d.on('error', function(err) {
console.error(err.stack);
});
d.run(function() {
yourCode();
});
或者如果这是域错误处理无法处理的内容:
process.on('uncaughtException', function (err) {
console.error(err.stack);
});
当然,您不希望像我的例子中那样只是记录并继续,但是您可以了解情况。
相关文章:
- 如何在异步函数中使用javascript对象
- Meteor:异步函数回调异常:onAfterAction
- 未调用jquery异步函数
- 使用来自不同异步函数的响应创建一个json对象
- 如何在异步函数中正确使用Promise.all()和then()
- 从异步函数返回值
- 如何按照承诺使用mocha/chai/chai测试ES7异步函数
- 如何在将Node异步函数转换为promise时使用Q库
- 如何在异步函数与Deferredjquery之间同步
- ng用异步函数模拟怪异行为
- 用mocha测试异步函数
- 用于异步函数中的循环和定时问题
- Node.js设计:多个异步函数使用作为闭包传递的函数写入数据库
- 嵌套异步函数未及时返回数据的问题
- 在异步函数中维护变量的状态
- 递归异步函数
- Bluebird promisifyAll不会创建整个异步函数集
- 递归调用异步函数
- 异步函数调用是否可以在两个同步语句之间完成
- 如何在nodejs中实现异步函数