Node.jscallbackhellp

尽pipe无尽的SOpost,教程,video和操作方法,我似乎无法使我简单的callback工作。 如果有人能让我知道我在哪里,这将有助于弥补我对callback的理解上的空白。 矿是如此简单,这是令人尴尬的。 基本上我试图从mongo(通过mongoose)返回到调用函数的查询结果。

调用函数:

team1 = '2638'; var t = doesTeamExist('team1', function(team){ console.log(team); }); 

处理function:

 function doesTeamExist(id, res){ Team.findOne(id).populate('team').exec(function(err,team){ console.log(team); res.team = team; }); }; 

我知道,正如我的控制台显示,相应的团队是在doesTeamExist返回

 { _id: 545930dc14a8e3bc9ffab864, id: '1532', name: 'TEAM1', alt_id: '2638', created: Fri Nov 07 2014 13:41:43 GMT-0700 (MST) } 

但我从调用函数得到一个undefined。 任何人都可以看到这个洞?

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

正如Miroslav提到的使用res(team)将会完成你所需要的,但是如果你使用express 4.0,你可能会使用res.status(status_code).send(team)

您可以在这里查看http协议的状态码:

来自维基百科的HTTP状态码