今天是我在Node上编程的第一天。整天都过得很愉快,但遇到了一些奇怪的问题。可能是我没有理解Node的异步性或其他什么原因。
我有一个执行shell命令的函数:
所以最后应该执行的是
我需要强制
我有一个执行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
客户端..这会造成问题吗?任何想法?非常感谢 :)。