与forEachSeries和while一起嵌套循环



我同时使用forEachSerieswhilst,如下所示:

async.forEachSeries(BJRegion, function (region, key, callback) {
  var count = 0;
  async.whilst(
    function () { return count < 10; },
    function (cb) {
      // sth...
    },
    function (err, count) {             
      console.log(err, count);                              
    }
  ); // whilst
}); // forEachSeries

然而,当第一个while循环完成时,外部forEach似乎不会转到下一个元素。在没有whilst的情况下,forEachBJRegion数组中的每个元素进行迭代。

async.whilst退出时,您没有调用外部回调。你需要像这样的东西

async.forEachSeries(..., function(item, next) {
  async.whilst(
    function() { ... },
    function(callback) {
      // do some work
      // ...
      // continue to the next "whilst" iteration
      callback();
    },
    function(err) {
      // "whilst" is finished!
      // continue to the next "forEachSeries" iteration
      next();
    }
  )
});

请参阅此演示。

相关内容

  • 没有找到相关文章

最新更新