我一直在用这段代码敲打几个小时。此外,我之前多次使用过“ 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();
}
}
});
RUNFILE:
function runFile(filename, callback) {
// Do a bunch of stuff ....
__parseOutput(output, callback);
}
__ parseOutput:
function __parseOutput(output, callback){
//Do some if else statement and do console.log
return callback(null);
}
问题:在所有迭代完成后,不会调用function(err){..}
的最终回调,即async.each
。
答案 0 :(得分:1)
所有问题都是由回调之间调用异步方法引起的。我等待这个有问题的功能完成,然后调用callback
。在我的情况下,我使用async.waterfall
等待,因为我必须将值从一个传递到另一个。对于类似问题,请阅读此问题的评论,特别是@Gepser
的评论。