【问题标题】:I want async parallel not to break on error我希望异步并行不会因错误而中断
【发布时间】:2014-11-11 18:28:20
【问题描述】:

我正在使用caolan/async,特别是.parallel(),我正在组装一个字符串对象。当出现错误时,整个事情都存在并且没有完成,即使是没有错误的过程。

async.parallel({
  "color": color,
  "brand": brand,
  "sku": sku,
}, function(err, result) {
  console.log(err);
  console.log(result);
}); 

如果brand 返回错误,我不会得到任何信息。我宁愿brand:false。我怎样才能做到这一点?

【问题讨论】:

    标签: asynchronous callback parallel-processing


    【解决方案1】:
    async.parallelPlus = function(functions, callback) {
      var wrap = function(func) {
        return function(callback) {
          func(function(err, value) {
            if (err) return callback(null, false);
            return callback(null, value);
          });
        }
      }
      var newFunctions = {};
      for (var func in functions) {
        newFunctions[func] = wrap(functions[func]);
      }
      return async.parallel(newFunctions, callback);
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 2010-11-30
      • 2013-08-07
      • 2020-04-04
      • 2012-12-19
      • 2020-11-23
      • 1970-01-01
      • 2011-09-11
      • 2020-08-28
      相关资源
      最近更新 更多