只是試圖讓我的頭周圍使用NodeJS的異步模塊。NodeJS,異步forEachSeries執行順序
我有以下代碼。
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();
});
我要讓上面的代碼的過程中以這樣的方式,打印出來變成
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
.....
但不是我越來越像..
1
1 10
2
2 10
1 11
3
3 10
2 11
1 12
....
我該如何解決?
如果你需要同步輸出,你爲什麼要執行異步? – NilsH 2013-04-11 07:22:25
hm。不是forEachSeries以同步方式執行嗎? – ericbae 2013-04-11 07:26:10
節點0.10.3和0.8.16都可以在我的Mac上生成所需的輸出。您是否將腳本的輸出傳輸到文件(或其他程序)?這會改變'process.stdout'的行爲,因此也會改變'console.log',這樣可能會導致不同的輸出。 'forEachSeries'是同步的,因爲只有在完成之前纔會調用下一次迭代。 – robertklep 2013-04-11 07:44:26