Node.js 节点/快车-Can';t在发送邮件后设置邮件头

Node.js 节点/快车-Can';t在发送邮件后设置邮件头,node.js,express,Node.js,Express,我处理这个问题已经有一段时间了,但我似乎不明白为什么会发生这种情况 我收到错误:发送后无法设置标题 我能够通过堆栈跟踪跟踪到有问题的函数调用,这使我相信错误就在这个函数中: exports.getCardUser = function(req, res, next) { if (req.user) { User.cardUser(req.user.userId, function(responseValue) { res.json(200, responseValue);

我处理这个问题已经有一段时间了,但我似乎不明白为什么会发生这种情况

我收到错误:
发送后无法设置标题

我能够通过堆栈跟踪跟踪到有问题的函数调用,这使我相信错误就在这个函数中:

exports.getCardUser = function(req, res, next) {
  if (req.user) {
    User.cardUser(req.user.userId, function(responseValue) {
      res.json(200, responseValue);
    });
  } else {
    res.send(401);
  }
};
但是,如果我通过常规的REST客户端iex:在隔离环境中命中API端点,则不会抛出错误

有什么想法吗


编辑:skypjack让我走上了正确的轨道-回叫了两次。谢谢

如果我通过一个普通的REST客户端访问端点,你是什么意思?什么是引发错误的替代方法?我认为这可能不是造成错误的代码块,可能是中间件造成的。这些类型错误最常见的来源是调用了两次的回调,因此您不应该跟踪有问题的方法,相反,请尝试了解其调用者是否都正常工作。编辑了澄清帖子-REST客户端:在隔离环境中命中端点,而不是将其作为应用程序的一部分运行。如果我通过常规REST客户端命中端点,这是什么意思?什么是引发错误的替代方法?我认为这可能不是造成错误的代码块,可能是中间件造成的。这些类型错误最常见的来源是调用了两次的回调,因此您不应该跟踪有问题的方法,相反,请尝试了解其调用者是否都正常工作。编辑了澄清帖子-REST客户端:在隔离环境中命中端点,而不是将其作为应用程序的一部分运行。