邮件请求中的响应未定义(快速)

时间:2017-10-24 10:56:19

标签: javascript node.js express routes response

我有一个路由处理程序,当我转到指定的路径时,它会调用身份验证控制器中的注册函数:

module.exports = app => {
  app.post("/signup", authentication.signup());
};

我的身份验证控制器:

exports.signup = function(req, res, next) {
  res.send({ success: true });
};

但是当我启动服务器时,我说它无法读取undefined的属性“send”。由于甚至无法运行我的服务器,我无法使用邮递员来测试我的API路由。

为什么在我访问路线之前尝试拨打电话?我使用我的快递应用程序使用节点http库运行我的服务器。

1 个答案:

答案 0 :(得分:2)

app.post("/signup", authentication.signup()); 调用 authentication.signup并将其返回值传递到app.post,与foo(bar()) 调用 {的方式完全相同{1}}并将其返回值传递给bar

相反,只需将函数本身传递给foo; Express将在稍后调用它以响应该路由上的POST:

app.post