740530
各位好,在异步的方法里我采用了co的方式,具体方式如下:
数据库查询:
query=function (sql,callback){
pool.getConnection(function(err, connection) {
if(err){
console.error("DB connect fail:"+err);
callback(err,null);
}
connection.query("set names "+config.db.charset);//重新设置一下编码类型
connection.query(sql,function(err, rows,fields) {
if (err) {
connection.rollback(function() {
callback(err,null);
});
}
callback(null,rows);
connection.release();
return ;
});
});
}
coQuery=function(sql){
return function(callback) {
query(sql,callback);
};
}
调用时如下:
function getCityList(option,callback){
var sql="select * from tb_city where 1=1";
return db.coQuery(sql,callback);
};
app.get("/getCityList",function(req,res){
co(function*(){
var x=yield getCityList(req.query);
console.log(x);
res.json(x);
})();//报错的这行
});
报错: Can't set headers after they are sent.请问如何解决