我同时使用forEachSeries
和whilst
,如下所示:
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
的情况下,forEach
对BJRegion
数组中的每个元素进行迭代。
当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();
}
)
});
请参阅此演示。