登录时,我尝试查询FirestoreDB,然后返回用户数据或null。
我尝试用async await来做这件事,但是相关代码在数据库查询完成之前就运行了。当"CORRECT"(正确的凭证)在空的用户详细信息(不完整)之后被控制台记录时,就可以看到这一点。
谢谢你,
这是我的代码:
let data = await db.collection('users').where("email", "==", email).get().then(querySnapshot => {
console.log("SOMETHING")
let arr = []
querySnapshot.docs.map(doc => arr.push(doc.data()))
console.log(arr)
// console.log(sc.decrypt(arr[0].password))
if (arr[0].email == email) {
bcrypt.compare(password, arr[0].password, (err, match) => {
if (match) {
console.log("CORRECT")
return arr[0]
} else {
if (err) {
console.log(err)
}
console.log("INCORRECT")
return null
}
})
}
})
console.log("DATA " + data)
return data ? data : null
1条答案
按热度按时间wooyq4lh1#
一个小时的搜索,但2分钟后,我张贴我弄清楚了。
以下是适用于同一条船上的任何人的工作代码: