目前,这是我使用node-mysql执行查询的方式
client.query( sql, function( error, result ) {
console.dir( result );
});
Run Code Online (Sandbox Code Playgroud)
我想同步这样做,就像这样
var result = client.querySync( sql );
console.dir( result );
Run Code Online (Sandbox Code Playgroud)
我理解为什么在节点中阻塞是坏的,但我(几乎)长大到足以知道什么时候可以,什么时候没有.我只打算在任何事件循环之外的初始化阶段进行同步调用.
有人知道我怎么能做到这一点吗?
编辑...
有点......
client.querySync = function( sql )
{
var called = false;
var result;
while ( typeof result == 'undefined' ) {
if ( ! called ) {
called = true;
this.query( sql, function( error, _result ) {
result = { error: error, result: _result };
});
};
}
return result;
};
Run Code Online (Sandbox Code Playgroud)