Я делаю код с последующим сопровождением узла, но в то же время я пишу свое собственное приложение на основе того, что я изучил в предыдущем курсе, а также код на одном из них. В приведенном ниже коде у нас есть часть промежуточного программного обеспечения, которое проверяет, является ли пользователь, вошедший в систему, пользователем, который владеет профилем, а затем позволяет им изменить его. Это было написано с использованием функции asyn c, и она работает так же, как и должна, но я хочу написать как функцию без asyn c, но я не получаю тот же конечный результат, может кто-нибудь помочь мне в записать эту функцию в не асинхронную c функцию?
//Function to see if the current password is valid
middlewareObj.isValid = async (req, res, next) => {
const { user } = await User.authenticate()(req.user.username, req.body.currentPassword);
if(user) {
//Add user to res.locals
res.locals.user = user;
next();
} else {
req.flash("error", "The password you entered does not match the current password stored in the database, please try again");
res.redirect("back");
}
}
Я пробовал это, но это всегда дает правду независимо от того, что вы вводите в поле currentPassword в форме
//Function to see if the current email is valid
middlewareObj.isValid = (req, res, next) => {
const user = User.authenticate()(req.user.username,
req.body.currentPassword);
if (user) {
res.locals.user = user;
next();
} else {
req.flash("error", "The password you entered does not match the current
password stored in the database, please try again");
res.redirect("back");
}
}