【发布时间】:2020-11-29 01:16:51
【问题描述】:
This question 类似,但没有帮助。
目标是将 async/await 与 Firebase Cloud Firestore 查询一起使用,而不是 the Firebase documentation 中的 then/catch Promise 代码。
但是,下面的函数在否定情况下成功拒绝,但返回 Promise { <pending> } 而不是 Cloud Firestore 文档。
async getUser(emailAddress) {
// Return null if @emailAddress blank.
if (!emailAddress) {
return null;
}
// Assume @db points to a Cloud Firestore database. Query only returns one doc.
let query = db.collection('users').where('emailAddress', '==', emailAddress);
try {
let querySnapshot = await query.get();
querySnapshot.forEach(function(doc) {
return doc.data();
});
} catch(e) {
console.log('Error getting user: ', e);
}
}
【问题讨论】:
标签: javascript firebase google-cloud-firestore promise es6-promise