想实现密码验证功能,逻辑是从数据库获取账号,再对密码进行比较。
通过email获取账号信息,返回promise对象,然后用bcryptjs包的crypt.compare方法进行验证。最后大函数loginExamine的返回值就不知道怎么处理了,感觉我这样写不对,不知道大家怎么处理像这样的逻辑的,刚刚从express到koa,思维都要转变。我还是个小学生,希望大家能指导一下
exports.loginExamine= async (email,password)=>{
let result= await Account.findOne({email:email},'email tel password').exec();
return result.then((doc)=>{
bcrypt.compare(password,doc.password).then((res)=>{
return res
})
})
}
感觉你还没有理解async/await和Promise是怎么使用的。
我的写法如下