0

ここに私のコードがあります:

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 変数にアクセスするにはどうすればよいですか?

4

1 に答える 1

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
        });
    });
});

このようにして、結果(行)が利用可能になったら、それらにアクセスしてレンダリングします。

于 2012-12-02T12:53:09.480 に答える