采用co ~3.0.1 db里query操作如下:db.js query=function (sql,params,callback){ pool.getConnection(function(err, connection) { if(err){ console.error(“DB connect fail:”+err); return callback(err,null); } connection.query("set names "+config.db.charset);//重新设置一下编码类型 connection.config.queryFormat = function (query, values) { if (!values) return query; return query.replace(/:(\w+)/g, function (txt, key) { if (values.hasOwnProperty(key)) { return this.escape(values[key]); } return txt; }.bind(this)); }; connection.query(sql,params,function(err, rows,fields) { if (err) { connection.rollback(function() { return callback(err,null); }); } callback(null,rows); connection.release(); return ; }); }); }
coQuery=function(sql,param){
return function(callback) {
query(sql,param,callback);
};
}
exports.coQuery=coQuery;
表结构:id,parent_id,content
现遇到的情况如下在get请求当中
co(function*(){
var result=yield db.coQuery("select id,parent_id,name from xx where parent_id=0");
//接下来,我应该如何取每一个对象里子children的值 ????
//我本来想在这写个递归也去yield ,但是由于没有return ,根本不知道从哪里取值
)();