0

以下に書いたコードは、コントローラーuser.jsの一部です。

exports.login = function(req, res) {
var db = require('../db').tables;

//db.user.find(function(err, user) { console.log(user) });

switch (req.method) {
    default:
    case 'GET':
    break;
    case 'POST':
        db.user.find({username: req.body.username}, function(err, user) {

        });

        console.log(user);
    break;
}

res.render('user/login', {title: 'Login'});
};

問題は関数db.user.findであり、コールバック内で変数resを使用できません。

私はすでに何度かドキュメントマングースを読み直して、より快適な構文を使用しようとしましたが、何もしませんでした。

コードを変更するようにどのようにアドバイスしますか?

英語が下手で申し訳ありませんが、私はグーグルを使いました。:(

4

1 に答える 1

5

の匿名コールバック関数findは関数のコンテキスト内で定義されているため、loginコールバックはすでにresクロージャを介してアクセスできます。

...
db.user.find({username: req.body.username}, function(err, user) {
    // code here can reference res from the enclosing scope
    res.json(user);
});
...
于 2012-08-25T21:35:29.093 に答える