nodejs 同步查询问题
发布于 10 年前 作者 liuff1988 5584 次浏览 最后一次编辑是 8 年前 来自 问答

异步代码如下,想问如何将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 回复

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

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

回到顶部