我有2个。第一个我正在检查get参数是否存在。第二个我正在检查param1 == param2是否在这个条件下我会找到一个用户并在回调中重定向。
但是我必须为另一个案子设置其他因为我会得到:
Error: Can't set headers after they are sent.
有没有办法在我的情况下不写其他条件?例如,等待查找回调完成后,我可以执行重定向。
app.get('/path', function(req, res){
if( typeof req.param('param1') != 'undefined' && typeof req.param('param2') != 'undefined){
var param1 = req.param('param1');
var param2 = req.param('param2');
if ( param1 === param2 ){
// Confirm the user
User.findOne({ 'myfield' : param1 }, function(err, user) {
if (err) throw err;
if ( user.myfield == 'something' ){
return res.redirect('/login');
}
// Check if user already exists
if (user){
user.field2 = 'anything';
// Update user status
user.save(function(err){
if(err) throw err;
return res.redirect('/register');
});
}
});
}else{
return res.redirect('/login');
}
}else{
return res.redirect('/login');
}
});
答案 0 :(得分:2)
当然,如果您每次都明确返回,则可以避免使用else子句:
=SUM(COUNTIFS(B:B,B2,A:A,A2+{-1,0,1}))>1