首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >async.eachSeries的类似async.waterfall的替代方案

async.eachSeries的类似async.waterfall的替代方案
EN

Stack Overflow用户
提问于 2015-04-07 13:40:30
回答 1查看 593关注 0票数 0

我必须用node.js编写一些代码片段,在那里我需要用async.js控制异步流。async.js中有一个名为async.waterfall的函数,它提供了将一些值传递给下一个执行函数的机会。我的问题是我必须运行async.eachSeries来控制数组上的流,但是我找不到任何选项来传递一些值,比如瀑布。有吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-07 14:20:05

async.eachSeries()没有传递该值的选项,但是您可以使用closure保存该值以供下一次迭代使用。例如:

代码语言:javascript
复制
var async = require('async');

(function() {
  var lastValue = 1;

  async.eachSeries([1, 2, 3, 4, 5], function (item, eachCb) {
    console.log('item ' + item + ', last value: ' + lastValue);
    lastValue = lastValue + item;
    eachCb(null);
  }, function (err) {
    console.log('done:' + lastValue);
  });
})();

输出将为:

代码语言:javascript
复制
item 1, last value: 1
item 2, last value: 2
item 3, last value: 4
item 4, last value: 7
item 5, last value: 11
done: 16

正如您在输出中看到的,当前迭代使用的是上一次迭代的保存值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29484546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档