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 。

我已经尝试过几次重新阅读文档 mongoose 以使用更舒适的语法但没有。

您如何建议我更改代码?

抱歉英语不好,但我使用了谷歌。:(

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 回答