初日。私は一日中うまくやってきましたが、何か変わったことがあります。おそらく、ノードの非同期性などを理解していないでしょう。Node.jsのコードの実行順序ノードでのプログラミング今日で
私はシェルコマンドを実行機能があります。
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);
ように実行されることを意図されている2つの最後のものがfuzz
であり、 buzz
。しかし、ループ内のある点でfuzz
とbuzz
が発生し、最後に(時には)bar
が印刷されるようです。 myarr
は、私がRedis
データベースに接続することによって構築配列です。
は、私は同期ループまたは何かをするNode
を強制する必要がありますか?私はコード内でRedis
クライアントを使用しています。これらは問題を引き起こす可能性がありますか?何か案は?どうもありがとう :)。 EXECを使用して
ありがとう - うまくキャッチ:)。 – ale
自分自身の前に何度もありました:) Happy Node hacking。 – MattJ