Sadece NodeJS için Async modülünü kullanarak kafamı almaya çalışıyorum.NodeJS, Async forEachSeries yürütme sırası
Aşağıdaki kodum var. ..
var a1 = [1,2,3,4,5,6,7,8];
async.forEachSeries(a1, function(n1, callback) {
console.log(n1);
var a2 = [10,11,12,13,14];
async.forEachSeries(a2, function(n2, callback) {
console.log(n1 + " " + n2);
callback();
});
callback();
});
Ben baskı dışarı
1
1 10
1 11
1 12
1 13
1 14
2
2 10
2 11
2 12
2 13
2 14
3
3 10
3 11
3 12
3 13
3 14
.....
olur şekilde Yukarıdaki kod sürecini yapmak istiyorum Ama bunun yerine şöyle bir şey alıyorum
1
1 10
2
2 10
1 11
3
3 10
2 11
1 12
....
Bunu nasıl düzeltirim?
Senkronize çıkışa ihtiyacınız varsa, bunu neden uyumsuz olarak gerçekleştiriyorsunuz? – NilsH
hm. forEachSeries senkronize bir şekilde gerçekleştirmiyor mu? – ericbae
Hem Node 0.10.3 ve 0.8.16, Mac'imde istediğiniz çıkışı üretir. Komut dosyasının çıktısını bir dosyaya (veya başka bir programa) mı aktarıyorsunuz? Bu, process.stdout'un ve dolayısıyla 'console.log'un da davranışını değiştirir, dolayısıyla farklı çıktılara neden olabilir. Ve 'forEachSeries', bir sonraki yinelemenin yalnızca bir kez yapıldıktan sonra çağrılacağı zaman uyumludur. – robertklep