如何为async.waterfall创建自定义错误消息?

时间:2014-02-28 14:59:04

标签: node.js async.js waterfall

为了避免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);   
});

1 个答案:

答案 0 :(得分:2)

在最后的回调中,err将是作为callback函数中waterfall次调用的第一个参数传入的第一个非空错误值。因此,只要您将传递给callback的错误值与您的三个函数不同,就可以区分它们。

但是,你提到了根本没有考虑到的例外情况,因为那些只会让你的程序崩溃。我不确定你是否意味着实际的例外,或者只是将错误称为例外。