一尘不染

node.js中的async.eachSeries

node.js

我有一个循环 node.js

for (var i in files){
    var all = fs.readdirsync("./0");
    async.eachSeries(all, function(item){
        check(item); 
   }
}

check(item)有回调到另一个功能。

如我所见,它们async.eachSeries不会同步执行。在check()函数中的回调完成之前,循环将继续执行其他项。

如何让循环等到迭代完成(包括回调)?


阅读 465

收藏
2020-07-07

共1个答案

一尘不染

假设check接受回调,我们可以使用它mapSeries来实现。

async.mapSeries(files, function(file, outerCB) {
  var all = fs.readdirsync("./0");
  async.mapSeries(all, function(item, cb){
      check(item, cb);
  }, outerCB);
}, function(err, results) {
  // This is called when everything's done
});
2020-07-07