猿问

如何在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回掉函数里面)

互换的青春
浏览 681回答 1
1回答

一只斗牛犬

这个查数据库应该是个异步的吧,既然是异步就不能写在外面,你还没查出了就res了只能把res写在里面用个全局变量接受也没用,异步的你想要查两张表再res,可以在第一张查完之后的回调里面再查第二张,再在第二张回调里面res,不过效率低或者封装成promise用promise.all所有异步结束执行 res或者用co模块 可以异步改同步写法
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答