Элементарное async/await

Не могу разобраться с промисами и установкой async/await кто знает, дайте подсказку.

  1. Контроллер
exports.login =  async (req, res) =>{
    console.log(req.body.email + " "+ req.body.password)
    let obg = null;
   (async ()=> {
    let user = new Users.Users(req.body.email, req.body.password)
  let promise = new Promise(function(resolve, reject) {
      obg = user.isValidPasswordUser()
      console.log("в промисе "+obg)
      console.log(obg)
      resolve(obg)
    });
   await promise.then(
        result => {
            console.log("В контроллере")
            console.log(obg)
            console.log(result)
            return res.json(result)
        },
        error => console.log(' Ошибка ' + error)
    )
    })()

}

  1. Класс в котором делается запрос к БД
   isValidPasswordUser(){
        console.log('Сервер '+this.email + " " + this.password)
        let r = this.password
        let isValidPassword = (userpass, password) => { // проверка правильности паролей
            return bCrypt.compareSync(password, userpass);
        }
        
   user.findOne({
        where: {
            email: this.email
        }
    }).then(function(user) {
        //console.log(user)
        if ((!user) || (!isValidPassword(user.password, r))) { // Пользователя под таким еmail не найден или пароли не совпадают
            console.log("Жопа")
            return {status: false, message: 'Имя пользователя или пароль введены не верно!'}
        }
        console.log("На сервере все ок.")
        let on = {status: true, message: 'Успешный вход', token: "Все ок"}
        console.log(on)
        return on
    }).catch(reason => {
        console.log("Ошибка логирования " + reason)
        return reason
    });

    }

}

 module.exports.Users = Users
  1. Вот так получаю на клиенте
      login:  async  function () {
                     this.texterr=''
                const dataLogin =  this.userValid()
                if(dataLogin.status) {
                    console.log("Объект проверки " + dataLogin.status)
                    this.texterr = dataLogin.msg
                    Axios.post('/auth/login', {
                        email: this.email,
                        password: this.password
                    }).then((response) => {
                        console.log(" gvjgyjgyj ")
                        console.log(response.data)
                        //return response.data;

                      if (response.data.status){
                            console.log("Удачный вход "+response.data.token)
                            this.$store.dispatch('auth/token',response.data.token)
                        }else {
                            console.log("Ошибка при входе "+response.data.message)
                            this.texterr = response.data.message
                        }
                    })
               }else {
                    this.texterr=dataLogin.msg
                }

            },

Перепробовал много комбинаций, - я не понимаю :(


Ответы (0 шт):