我已经在这段代码上敲了几个小时了。此外,我之前多次使用过“async.each”。可能代码只需要不同的眼光才能工作。这是代码和问题。
async.each(process.argv, function(file, callback){
runFile(file, callback);
}, function(err){
console.log("Here is the error!:" + err +"files to unstage: " + filesToUnstage)
if(err)
console.log(err);
else{
if(filesToUnstage) {
__unstage();
}
}
});
运行文件:
function runFile(filename, callback) {
// Do a bunch of stuff ....
__parseOutput(output, callback);
}
__parse输出:
function __parseOutput(output, callback){
//Do some if else statement and do console.log
return callback(null);
}
问题:最终回调,即 async.each
的 function(err){..}
在所有迭代完成后不会被调用完成的。
最佳答案
所有问题都是由回调之间调用的异步方法引起的。我等待这个有问题的函数完成,然后调用回调。就我而言,我使用 async.waterfall
来等待,因为我必须将值从一个传递到另一个。对于类似的问题,请阅读该问题的评论,特别是 @Gepser
的评论。
关于node.js - 完成所有迭代后的 async.each 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063492/