如何在javascript函数外引用函数内变量?

查看:87
本文介绍了如何在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,不过效率低
或者封装成promisepromise.all所有异步结束执行 res
或者用co模块 可以异步改同步写法

这篇关于如何在javascript函数外引用函数内变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆