【问题标题】:unhandledPromiseRejectionWarning: TypeError: Cannot read property 'password' of nullunhandledPromiseRejectionWarning:TypeError:无法读取 null 的属性“密码”
【发布时间】:2021-09-16 23:45:00
【问题描述】:

(node:7152) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'password' of null 在exports.login (C:\Users\niko\Desktop\opaa\controllers\controller.js:39:56) 在 process._tickCallback (internal/process/next_tick.js:68:7) (节点:7152) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:1)

const User = require('../model/User');
const bcrypt = require('bcryptjs');
const jwt = require('jsonwebtoken');

exports.renderHomePage = (req, res, next) => {
    res.render('index') 
};

exports.register = async (req, res, next) => {
    const emailExist = await User.findOne({email: req.body.email});
    //if (emailExist) return res.send('Email Exist')
 
    res.render('register')

    const hash = await bcrypt.genSalt(10);
    const hashPassword = await bcrypt.hash(req.body.pass, hash);

    const user = new User({
        email: req.body.email,
        name: req.body.name,
        password: hashPassword
        })
    try{
        const savedUser = await user.save();
    }catch(err){
        
    }
};

exports.login = async (req, res, next) => {
    const user = await User.findOne({ email: req.body.email1 });
    //if (!user) return res.send("Invalid Email");
    
    email1 = req.body.email1;
    pass1 = req.body.pass1;
    
    res.render('login')

    const validPass = await bcrypt.compare(pass1, user.password);

    res.send("logged in");
    

    const token = jwt.sign({_id: user._id}, process.env.TOKEN);
    res.header('auth-token', token).send();

};

【问题讨论】:

  • (node:11672) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝 ID:1)
  • 在登录中间件中放置一个 try catch 块,下次调用:try{ .... } catch(error) { next(error) }
  • reg.body.email1的登录功能中无法通过电子邮件找到用户。正文不包含email1?用户不存在?

标签: javascript node.js express


【解决方案1】:

不要忘记使用 bodyParser 包以使您的正文变得可读。

https://www.npmjs.com/package/body-parser

【讨论】:

    猜你喜欢
    • 2021-03-27
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 2021-05-20
    相关资源
    最近更新 更多