nodejs 同步查询问题
 发布于 11 年前  作者 liuff1988  6004 次预览  最后一次回复是 11 年前  来自 问答 

异步代码如下,想问如何将query方法修改成同步的

var p = pools.getOrCreate('postgres://'+config.user+':'+config.password+'@'+config.host+':'+config.port+'/'+config.database);

//查询
exports.query = function(sql, cb){
	
	if(!cb) return;

    try{
	
        p.acquire(function(err, client) {
            if (err) {
                cb(false);
            } else {
                client.query(sql, [], function(err,res,fields){
                    p.release(client);
                    var rows = res?res.rows:res;
                    cb(rows);
                });
            }
        });

    }catch(e){
        cb(false);
    }

};

\n```
2 回复
ngot

不用node,换fibjs就能同步了。不然,可以试试Promise,Async,Generator等等,在形式做成像同步的,虽然都非常ugly

119786155

我了个去,好狰狞的try catch!