如何在javascript函数外引用函数内变量?
本文介绍了如何在javascript函数外引用函数内变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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
模块 可以异步改同步写法
这篇关于如何在javascript函数外引用函数内变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文