今天在Node編程的第一天。我整天都相處得很好,但有一些奇怪的東西。我可能不理解節點的異步性或什麼。Node.js代碼執行順序
我有一個執行shell命令的功能:
function puts(error, stdout, stderr) { sys.puts(stdout); }
然後我執行某些命令:
exec("foo", puts);
myarr.keys("mykey", function (err, replies) {
replies.forEach(function (reply, i) {
exec("bar");
});
});
exec("fuzz", puts);
exec("buzz", puts);
,這樣是爲了執行的最後兩個東西是fuzz
和然後buzz
。但是,似乎fuzz
和buzz
發生在循環中的某個隨機點,並且bar
是最後(有時)打印的東西。 myarr
是我通過連接到Redis
數據庫構建的數組。
我是否必須強制Node
同步執行循環?我在代碼中使用Redis
客戶端..可能會導致問題嗎?有任何想法嗎?非常感謝 :)。
謝謝 - 很好抓到:)。 – ale 2012-03-29 19:12:00
剛剛去過很多次,我自己:)快樂節點黑客入侵。 – MattJ 2012-03-29 19:53:39