app.use收到Can'的错误;t发送标头后设置标头出错

app.use got error of Can't set headers after they are sent error

本文关键字:出错 设置 错误 收到 use Can app      更新时间:2023-09-26

在我的app.js中,我做这个

app.use(function(req, res, next){
  if(!req.user){
    res.redirect('/login_');
  }
  next();
})

我没有看到任何错误,在route/index.js中我做

router.get('/login_', function(req, res) {
    res.render('login', { user : req.user });
});

但我得到了throw new Error('Can''t set headers after they are sent.'); 的错误,我知道这是由请求没有结束引起的,但我上面的代码出了什么问题?对这个错误一无所知。

route/index.js的完整代码http://pastebin.com/kT2QfnjL

这是因为当代码在发送响应后尝试发送响应时。

参考:

错误:Can';t在将标头发送到客户端后设置标头

return并重定向以解决此问题

app.use(function(req, res, next){
  if(!req.user){
    return res.redirect('/login_');
  }
  next();
})