我正在尝试将结果数据从查询功能传输到对象。 console.log(results)行返回'undefined'结果。我该怎么办?
module.exports = {
show: function(req, res) {
var results;
User.native(function(err, User) {
if(err) {
console.log("There is no exist a User by _id");
}
User.findOne({'_id' : req.param('id')},
function(err, user) {
results = user;
});
});
console.log(results);
return res.view({ stuff : results });
}
};
答案 0 :(得分:1)
您有一个异步问题,来自findOne的回调不一定与其余代码一致执行,因此您可以在调用console.log(results)
之前到达results = user
。您想将其更改为以下内容:
show: function(req, res) {
var results;
User.native(function(err, User) {
if(err) {
console.log("There is no exist a User by _id");
}
User.findOne({'_id' : req.param('id')},
function(err, user) {
results = user;
console.log(results);
// Send response or make a callback here
});
});
}