Sails.js发送后无法设置标头

时间:2014-10-17 11:56:31

标签: callback http-headers sails.js

我正在使用sailsjs v0.10.5。

我正在尝试在验证用户电子邮件之后重定向到登录,并在重定向之前更新数据库。

我在更新回调中使用重定向。但它在更新数据库后发送错误

'Cant send headers after they are sent'. 

以下是用于重定向的代码:

verifyEmail: function(req, res){
var userId = req.param('userId');
User.update({id: userId},{isVerified: true}).exec(function(err, user) {
  if (!err) { 
      req.flash('error', 'Your email is verified please login');
      res.redirect('/login'); }else { return res.send(user, 400); }
  });

2 个答案:

答案 0 :(得分:7)

更新水线功能是异步的,你确定之前可能会触发的范围内没有一些res方法吗?

答案 1 :(得分:1)

建议将return res.*用于所谓的“终端方法”,请参阅http://sailsjs.org/#/documentation/reference/res/res.forbidden.html?q=notes