res.json不是一个函数

时间:2016-02-25 03:46:03

标签: node.js express asynchronous

我有一个具有以下功能的文件。此函数返回JSON。我想从另一个文件调用此函数。

  exports.me = function(req, res) {
  var userId = req.user._id;
  User.findOne({
    _id: userId
  }, function(err, user) { 
    if (err) return next(err);
    if (!user) return res.json(401);
    res.json(user);
  });
};

我正在关注但是我得到res.json不是一个函数,我不知道如何接收一个变量的json。看起来也像是异步问题。请帮忙。

var user = require('user');
var loggedIn = user.me(req, function(user){

  return user;
});

1 个答案:

答案 0 :(得分:1)

me()函数似乎是一个快速请求事件处理程序。因此,res变量应该是response对象。在您的代码中,您将函数作为第二个参数传递,这就是错误的原因。

此外,me()函数没有返回值,因此loggedIn变量的值将是未定义的。