【发布时间】:2015-07-07 11:53:45
【问题描述】:
这是我的代码:
app.post('/register', function(req, res){
var user = new User(req.body);
if (req.body.password.length <= 5){ res.status(400).send('error: password must be longer'); }
if (req.body.username.length <= 3){ res.status(400).send('error: username must be longer'); }
User.findOne({
username: req.body.username
}, function(err, userr){
if(err) {res.status(400).send(err); }
if (userr){res.status(400).send('error: user already exists'); }
user.save(function(err, user){
if (err){ res.status(400).send('couldn\tt save fo sum rezon'); }
if (user) { res.send(user); }
});
});
});
这是我的错误:
home/michael/passport-local-implementation/node_modules/mongoose/node_modules/mpromise/lib/promise.js:108
if (this.ended && !this.hasRejectListeners()) throw reason;
^
Error: Can't set headers after they are sent.
我对我多次发送标头的位置感到困惑?是否应该在满足其中一个条件后立即停止执行此代码,或者如果不满足任何条件,则只呈现用户?
如果有人可以给我提供有关在哪里阅读有关快速路由工作原理的详细信息的资源,则可以加分!
【问题讨论】:
-
与此问题类似(但不完全相同):stackoverflow.com/questions/7042340/…
标签: node.js http express passport.js