javascript - async await 结合mongoose数据库操作问题 没有思路
本文介绍了javascript - async await 结合mongoose数据库操作问题 没有思路的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想实现密码验证功能,逻辑是从数据库获取账号,再对密码进行比较。
通过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是怎么使用的。
我的写法如下
exports.loginExamine= async (email,password)=> {
let doc = await Account.findOne({email:email},'email tel password').exec();
let verifyPassword = bcrypt.compare(password,doc.password);
return verifyPassword;
}
这篇关于javascript - async await 结合mongoose数据库操作问题 没有思路的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文