Mysql如何实现同步?
发布于 2年前 作者 7rice 1210 次浏览

代码如下 var tSql = "select * from " + this.config.table + " limit 1,2"; var onlock = false; var lock = true; var date = new Date();

var caller = model.caller; while(lock && (new Date().getTime()-date.getTime()<10000)) { if(!onlock) { this.connection.query(tSql,function(err,rows,fields){ console.log(rows); console.log(“finish”); console.log(lock); console.log(onlock); lock = false; caller.propertys = 123; }); onlock = true; } }

需求:希望query完成后结束while 实际情况:在while那里卡住,经过10秒钟后才进入回调函数

6 回复

你这个必然会这样的,node单线程,当前任务没有执行完的时候,callback永远不会执行。

以你这个为例,query的回调不可能在while执行完之前执行

有没有什么办法可以实现我想要的需求?

可以用eventproxy这个模块

Async模块应该也行吧

好的,谢谢了

回到顶部