express传数据到前台,可以在同一层吗?而不是用嵌套?

这样是可以拿到数据的

//    查询 课程信息
router.get('/lessonInfo', function (req, res, next){
    var sql = 'SELECT * FROM lesson';
    var lessons = [];
    connection.query(sql, function (err, result) {
        if (err) {
            console.log('[SELECT ERROR] - ', err.message);
            return;
        }
        if(result){
            for(var i = 0; i < result.length; i++){
                lessons.push({
                    lnumber: result[i].lnumber || null,
                    lname: result[i].lname || null,
                    ltype: result[i].ltype || null,
                    credit: result[i].credit || null,
                });
            }
        }
        res.render('lessonInfo',{
            lessons : lessons
        })
    })
})

但是把res.render移出connection.query就拿不到数据是因为什么?
是因为res.render在执行的时候connection.query还没执行完的原因吗?如果是的话,要怎么修改才能拿到数据呢?

阅读 2.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题