我在node.js中有一个循环
- for (var i in files){
- var all = fs.readdirsync("./0");
- async.eachSeries(all,function(item){
- check(item);
- }
- }
check(item)具有对另一个函数的回调.
我可以看到,async.eachSeries不会同步执行.在check()函数中的回调完成之前,循环继续执行其他项.
如何让循环等到迭代完成(包括回调)?
解决方法
假设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
- });