在res渲染中返回db函数内部的值

时间:2017-06-07 02:36:52

标签: javascript node.js pug

我想做一个帮助,并将在我的视图中使用( pug ),所以我将一个函数作为数据发送到视图文件,但问题是,我的帮助/传递函数不会返回在我的视图中,值或==未定义,帕格,谢谢

    app.get('/admin/pengguna', function(req,res){
    db.all("SELECT * FROM main_posts WHERE wdyw='2'", function(err, rows) {
        //var r = db.all("SELECT * FROM main_posts WHERE wdyw='1' AND ")
        if (!err) {
            res.render('admin/pengguna', {
                path: req.path,
                pengguna : rows,
                useringroup: function(w) {
                    db.all("SELECT * FROM main_posts WHERE wdyw='1' AND identity= $w", { $w: w }, function(err, result){
                        return result.lenght;
                    })
                }
            })
        }
    })
})

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

等待db返回数据然后呈现视图。您的视图无法直接向db调用。这就是我们使用MVC(模型视图控制器)的原因。您需要获取控制器中的所有数据,然后将其传递给查看。

你需要使用这样的东西,

app.get('/admin/pengguna', function(req,res){
    db.all("SELECT * FROM main_posts WHERE wdyw='2'", function(err, rows) {
        //var r = db.all("SELECT * FROM main_posts WHERE wdyw='1' AND ")
        if (!err) {
            db.all("SELECT * FROM main_posts WHERE wdyw='1' AND identity= $w", { $w: w }, function(err, result){
                res.render('admin/pengguna', {
                    path: req.path,
                    pengguna : rows,
                    useringroup: result.length
                })
            })

        }
    })
})

此外,您还需要调整w的代码。在从传递给视图的函数中获取它之前。您需要通过任何其他方法获取其值或修改查询。