Привет, я новичок в программировании на javascript.
У меня есть проект экспресс-узла, я пытаюсь создать метод входа в систему в своем классе AuthenticationController.
Мой метод входа похож наэто прямо сейчас:
const User = require('../models/User')
class AuthenticationController {
async login(req, res) {
const { email, password } = req.body
console.log('step 1')
var hashPassword = await userPassword(email)
console.log(hashPassword)
console.log('step 2')
return res.status(200).json({ 'msg': 'Log in OK!' })
}
userPassword(email) {
User.findOne({ email: email }).exec(function(err, user) {
if (err) return err
else return user.password
})
}
}
Но я получил сообщение о том, что userPassword не определен, я не мог понять, почему.Поэтому я сомневаюсь: почему это происходит и как это сделать правильно?
Я также проверил эти вопросы, но они мне не помогли:
Сообщение об ошибке на моей консоли:
(узел: 28968) UnhandledPromiseRejectionWarning: ReferenceError: userPassword не определен ...
(узел: 28968) UnhandledPromiseRejectionWarning: необработанное отклонение обещания.Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().(идентификатор отклонения: 1)
(узел: 28968) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания не рекомендуется.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.