我有这个循环下载一些文件,它的工作正常。NodeJs使用异步与循环下载
但是这些文件是按照“2,3,4,1,5”顺序下载的,而不是“1,2,3,4,5”。
我知道怎么做。每个异步和瀑布异步,但我不知道如何做这个循环。
Config.TotalFiles = 5;
for(i = 1; i <= Config.TotalFiles; i++) {
$this.CreateJSONFile(i, function() {
cls();
});
}
当下载完成后我想打电话给我的回调,我已经试过这if(id == Config.TotalFiles)
,但它不工作,因为该ID是不好的。
我该如何做这个循环的“异步”过程?
感谢
'async.times'? – Bergi
我总是有“1,5,3,4,2”...... – EyWN
这取决于每个'CreatJSONFile'调用的工作速度有多快。他们*始终以预期的顺序启动*。如果你想确保它们也按照预期的顺序结束,你唯一的选择是顺序执行而不是并行执行(使用'... Series'方法)。 – Bergi