我正在渲染时无法访问mysql数据

时间:2012-12-02 12:50:09

标签: javascript node.js

以下是我的代码:

app.get('/index/:name',function(req, res){
    connection.query('SELECT * FROM deneme',function(err, rows, fields){
        if (err) throw err;
        var paragraf = rows;
    });

    res.render('index', {
        title: req.params.name,
        para: paragraf
    });
});

但节点无法从'res.render'内部到达'paragraf'变量。节点返回

  

ReferenceError:未定义paragraf

如何从异步函数外部获取paragraf变量?

1 个答案:

答案 0 :(得分:0)

这不是应该如何使用异步方法结果,因为在调用查询回调之前行将不可用。

尝试改为:

app.get('/index/:name', function(req, res){
    connection.query('SELECT * FROM deneme', function(err, rows, fields){
        ...

        res.render('index', {
            title: req.params.name,
            para: rows
        });
    });
});

这样,一旦可用,您就可以访问并呈现结果(行)。