Node.js回调hellp

时间:2014-11-07 22:02:02

标签: node.js express callback

尽管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) }

但我从调用函数中得到一个未定义的。谁能看到这个洞?

2 个答案:

答案 0 :(得分:1)

而不是res.team = team,您应该使用res(team)

答案 1 :(得分:0)

正如Miroslav所说,使用res(team)将完成你所需要的,但如果你使用快递4.0,你可能想要使用res.status(status_code).send(team)

您可以在此处查看http协议的状态代码:

HTTP Status Codes from Wikipedia