为了避免node.js回调地狱,我使用async.js来组织我的代码。它在最后使用一个回调函数来捕获所有错误。是否有可能找出它抛出异常的位置。
在下面的例子中,数组中有3个函数,我想知道它失败的地方,所以我可以创建一个自定义的错误信息。
async.waterfall([
function(callback){
callback(null, 'one', 'two');
},
function(arg1, arg2, callback){
callback(null, 'three');
},
function(arg1, callback){
// arg1 now equals 'three'
callback(null, 'done');
}
], function (err, result) {
// result now equals 'done'
console.log("error:" + err);
});
答案 0 :(得分:2)
在最后的回调中,err
将是作为callback
函数中waterfall
次调用的第一个参数传入的第一个非空错误值。因此,只要您将传递给callback
的错误值与您的三个函数不同,就可以区分它们。
但是,你提到了根本没有考虑到的例外情况,因为那些只会让你的程序崩溃。我不确定你是否意味着实际的例外,或者只是将错误称为例外。