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状态码
- 为什么我在testing中得到401回应?
- 用Node.js和Express.js和AngularJs和nodemiailer发送邮件不发送邮件
- 我如何避免node.js中的竞争条件,当我通过socket.io操纵会话?
- 在使用Google的oauth2Client.getToken()之后尝试redirect时,无法设置标题。
- 错误:运行post时不正确的标题检查
- 将一个对象的值和属性合并到另一个对象中
- 使用Node和Express构buildAngular应用程序时,是否有必要使用JADE?
- 如何确保在启动Express应用程序之前,Swagger文件中已经logging了API?
- 将上传的文件stream式传输到HTTP请求