【问题标题】:Converting to async.waterfall转换为 async.waterfall
【发布时间】:2017-07-20 14:58:00
【问题描述】:

我有以下代码

function someHelper(someList) {
  return someList.map((item) => {
    return (next) => someService.firstCall(paramForFirst, (err, result) => {
      if(err) next(err);
      else    someService.secondCall(paramForSecond, result, next);
    })
  });
}

module.exports = {
  doSomething(param, callback) {
    async.parallel(someHelper(someList), callback);
  }
};

如何将someHelper 函数的第二次返回转换为使用async.waterfall

【问题讨论】:

    标签: javascript asynchronous


    【解决方案1】:

    这是我的解决方案。从并行传递next(callback),然后调用瀑布数组列表中的方法,最后调用next。根据定义waterfall 将调用回调,返回结果或错误。

    function someHelper(someList) {
      return someList.map((item) => {
        return (next) => {
          async.waterfall([
            async.apply(someService.firstCall, paramForFirst),
            async.apply(someService.secondCall, paramForSecond)
          ], next);
        }
      });
    }
    

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 2015-07-02
      • 1970-01-01
      • 2016-08-16
      • 2013-06-27
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多