router.get('/', function(req, res) {
pool.getConnection(function (err,connection) {
var sql1 = 'SELECT * FROM apply order by aid DESC limit 1';
connection.query(sql1, function (err, result) {
string=JSON.stringify(result);
var project=JSON.parse(string);
});
res.render('input3', {project:project});
})
});
如题,我需要在res.render中引用proiect,请问怎么才能在函数外得到project的值?
(因为要获取不同数据表的值,所以res.render不能放在query回掉函数里面)
这个查数据库应该是个异步的吧,既然是异步就不能写在外面,你还没查出了就
res
了只能把
res
写在里面用个全局变量接受也没用,异步的
你想要查两张表再
res
,可以在第一张查完之后的回调里面再查第二张,再在第二张回调里面res
,不过效率低或者封装成
promise
用promise.all
所有异步结束执行res
或者用
co
模块 可以异步改同步写法