Javascript bcrypt没有返回任何NODEJS

Javascript bcrypt没有返回任何NODEJS,javascript,node.js,ajax,express,es6-promise,Javascript,Node.js,Ajax,Express,Es6 Promise,这一直都是有效的,但不知怎么的,这对我不起作用: 我用来比较密码的东西: router.post("/login", [ check('email', 'Email is required').isEmail(), check('password', 'Password is required').not().isEmpty() ], async (req, res) => { const { email, password } = req.body;

这一直都是有效的,但不知怎么的,这对我不起作用:

我用来比较密码的东西:

router.post("/login", [
    check('email', 'Email is required').isEmail(),
    check('password', 'Password is required').not().isEmpty()
    ], async (req, res) => {
    const { email, password } = req.body;
    const errors = validationResult(req);
    if ( !errors.isEmpty() || !email || !password ) {
        return res.status(401).json({err: "Authentication failure"});
    };
    try {
        const user = User.findOne({ email: email });
        if(!user) {
            return res.status(401).json({err: "Invalid username or password"});
        }
        const isValid = await bcrypt.compare(password, user.password);  //// <-------HERE!!!!!
        console.log("Not reaching here")
        if (!isValidPassword) {
            return res.status(401).json({err: "Invalid username or password"});
        }
        //if valid password 
        res.status(200).send("SUCCESS");
    } catch (error) {
        res.status(500).json({err: "Internal server error"});
    }
})

router.post(“/login”[
选中('email','email是必需的')。isEmail(),
检查('password','password is required').not().isEmpty()
],异步(req,res)=>{
const{email,password}=req.body;
常量错误=验证结果(req);
如果(!errors.isEmpty()| | |!电子邮件| |!密码){
返回res.status(401.json)({err:“身份验证失败”});
};
试一试{
const user=user.findOne({email:email});
如果(!用户){
返回res.status(401.json)({err:“无效用户名或密码”});
}
const isValid=await bcrypt.compare(password,user.password);///我在进行DB查询时没有使用“await”!
更正:

const user = await User.findOne({ email: email });

它是否发送内部服务器错误响应?您是否在catch块中尝试了
console.log(error)
?谢谢,我找到了答案。