«Ошибка типа: невозможно прочитать свойство« статус »из неопределенного» * ​​1000 * - PullRequest
0 голосов
/ 05 марта 2020

я пытаюсь создать функцию, которая возвращает токен, используя nodejs express. js, секвелизируется, и я получил эту ошибку "Ошибка типа: невозможно прочитать свойство 'status' of undefined"

exports.login = (data)=>{
   return user.findOne({
        where : {userName: data.userName}
    }).then(userFound => {
        if (userFound){

            bcrypt.compare(data.password,userFound.password,(errBcrypt,resBcrypt)=>{
                if(resBcrypt) {
                    return {
                        status : 201,
                        token : jwt.sign({id: user.id},secretCode,{expiresIn:'1h'})
                    };
                }else {
                    return {
                        status : 403,
                        errBcrypt : 'password invalid!'
                    };
                }
            })

        }else{
            return {
                status : 403,
                error : 'user not exist!'
            };
        }

    })
    .catch((err) =>{
        return {
            status : 403,
            error : err
        };
    });

}

1 Ответ

0 голосов
/ 05 марта 2020

- это то, что функция контроллера или где именно она используется, также попробуйте, возможно, вернуть обещание

    exports.login = (data)=>{
   return new Promise((resolve,reject)=>{
   user.findOne({
        where : {userName: data.userName}
    }).then(userFound => {
        if (userFound){

            bcrypt.compare(data.password,userFound.password,(errBcrypt,resBcrypt)=>{
                if(resBcrypt) {
                    return resolve({
                        status : 201,
                        token : jwt.sign({id: user.id},secretCode,{expiresIn:'1h'})
                    })
                }else {
                     return resolve({
                        status : 403,
                        errBcrypt : 'password invalid!'
                    })
                }
            })

        }else{
             return resolve({
                status : 403,
                error : 'user not exist!'
            })
        }

    })
    .catch((err) =>{
         return reject({
            status : 403,
            error : err
        })
    });


   }) 
}
...