是否有类似async.waterfall的东西,但有错误?

时间:2015-03-16 18:16:16

标签: node.js asynchronous async.js

我有一个脚本,如果前一个函数失败,则只需要执行下一个函数。

有类似的东西吗?我不想链接所有功能,因为很难调试。

1 个答案:

答案 0 :(得分:0)

我在这种情况下使用的技巧是返回"完成"在回调的第一个参数中:

async.waterfall([
  function(callback){
    if (doneWithWaterfall) {
      return callback('done', 1);  // optional 2nd argument
    }
    callback(null);
  },
  function(callback){
    if (doneWithWaterfall) {
      return callback('done', 2);   // optional 2nd argument
    }
    callback(null);
  }
], function(err, result) { 
  if (!err || err === 'done') {
    console.log(result); // result is the 2nd argument of callback if returned
  } else {
    console.log(err);
  }
});