我在下面编写的代码是 Controller 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 文档以使用更舒适的语法,但什么也没有。
您如何建议我更改代码?
抱歉英语不好,但我使用了谷歌。 :(
最佳答案
由于 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);
});
...
关于javascript - 回调内部的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12125284/