代码如下 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秒钟后才进入回调函数
你这个必然会这样的,node单线程,当前任务没有执行完的时候,callback永远不会执行。
以你这个为例,query的回调不可能在while执行完之前执行
有没有什么办法可以实现我想要的需求?
好的,谢谢了