Как я могу вызвать req.flash () из мангуста? - PullRequest
0 голосов
/ 05 февраля 2019

У меня проблема с вызовом req.flash внутри функции mongoose.Я пытался зажечь все.В одной части моего кода это работает, а в другой - нет.

Мой код:

 router.post('/chngpwd', function(req, res, next) {
   var {currentpassword, newpassword, confirmnewpassword} = req.body;
   var uid = req.session.passport.user;
   if (newpassword == confirmnewpassword) {
     User.findById(uid).then(dbres => {
     req.flash('error_msg',"THIS MESSAGE DON'T WORK");  //DONT WORK
     });
   }else {
     req.flash('error_msg',"New passwords don't match"); //WORKS
   }
   res.redirect('/adminpanel/1');
});

1 Ответ

0 голосов
/ 06 февраля 2019

Вы перенаправляете его в / adminpanel / 1, не ожидая ответа от функции findById (async).Это должно работать:

router.post('/chngpwd', function(req, res, next) {
   var {currentpassword, newpassword, confirmnewpassword} = req.body;
   var uid = req.session.passport.user;
   if (newpassword == confirmnewpassword) {
     User.findById(uid).then(dbres => {
         req.flash('error_msg',"THIS MESSAGE DON'T WORK");
         res.redirect('/adminpanel/1');
     });
   }else {
     req.flash('error_msg',"New passwords don't match");
     res.redirect('/adminpanel/1');
   }
});
...