尽管SO帖子,教程,视频和操作方法无穷无尽,但我似乎无法完成简单的回调工作。如果有人能告诉我我在哪里,那将有助于弥补我对回调的理解。我的这么简单,令人尴尬。基本上我试图将查询结果从mongo(通过mongoose)返回到调用函数。
调用函数:
team1 = '2638';
var t = doesTeamExist('team1', function(team){
console.log(team);
});
处理功能:
function doesTeamExist(id, res){
Team.findOne(id).populate('team').exec(function(err,team){
console.log(team);
res.team = team;
});
};
我知道,当我的控制台显示
时,会在didTeamExist中返回相应的团队{ _id: 545930dc14a8e3bc9ffab864,
id: '1532',
name: 'TEAM1',
alt_id: '2638',
created: Fri Nov 07 2014 13:41:43 GMT-0700 (MST) }
但我从调用函数中得到一个未定义的。谁能看到这个洞?
答案 0 :(得分:1)
而不是res.team = team
,您应该使用res(team)
。
答案 1 :(得分:0)
正如Miroslav所说,使用res(team)
将完成你所需要的,但如果你使用快递4.0,你可能想要使用res.status(status_code).send(team)
。
您可以在此处查看http协议的状态代码: