我遇到以下问题:
router.post('/create', function(req, res, next) {
if(!req.user) res.redirect("/");
Survey.find({ surveyName: req.body.surveyName }, function(error, survey) {
if(survey) {
res.redirect('back');
res.end();
}
});
// save the survey code here
});
我想要做的是确保如果已经存在具有该名称的调查,客户端将返回上一页;但是,检查会运行代码(无论是否存在)并继续尝试保存调查。如何解决这个问题的任何见解将不胜感激!
答案 0 :(得分:2)
你应该这样做:
Survey.find({ surveyName: req.body.surveyName }, function(error, survey) {
if(survey) {
res.redirect('back');
res.end();
return;
}
// save the survey code here
});
编辑:请注意javascript的异步性