我有一个循环 node.js
node.js
for (var i in files){ var all = fs.readdirsync("./0"); async.eachSeries(all, function(item){ check(item); } }
该check(item)有回调到另一个功能。
check(item)
如我所见,它们async.eachSeries不会同步执行。在check()函数中的回调完成之前,循环将继续执行其他项。
async.eachSeries
check()
如何让循环等到迭代完成(包括回调)?
假设check接受回调,我们可以使用它mapSeries来实现。
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 });