[英]Structuring data in Firebase Firestore for "File explorer/Google Drive" style application
[英]improperly structuring firebase get call unable to loop over returned data
我有一个 firebase 方法在 Object.map 内部执行:
// firebase 调用
const getVisitors = (uid) => {
let dbRef = ref(db, `organization/${org}/visitors/${uid}`);
return get(dbRef, (snapshot) => {
const visitor = snapshot.val();
return visitor;
})
}
// 我在上面执行方法的地方:
Object.keys(resultData.visitors[item]).map(async visitorEl => {
const visitorObj = {};
const individualVisitor = await getVisitors(visitorEl);
console.log(individualVisitor);
Object.keys(individualVisitor).forEach(el => {
console.log(el);
})
})
我不正确地为异步调用构造了这个,但我不确定我哪里出错了。 第一个 console.log 记录了正确的数据,这让我相信它工作正常
Object {
"address": "5722 some street st",
"bDay": "",
"city": "Bsome city",
"email": "",
"first": "Richard",
"gender": "M",
"language": "Spanish",
"last": "Gongaza",
"mStatus": false,
"phone": "323555",
"profilePic": "",
"visitDate": "2022-09-11-PM",
"visitNote": "",
"zip": "",
}
但第二个 console.log 日志告诉我数据调用尚未解决。
_node
ref
_index
我等待 getVisitors。 知道我做错了什么吗?
我最终通过分解 getVisitors 方法解决了这个问题,如下所示:
const getVisitors = async (uid) => {
let dbRef = ref(db, `organization/${org}/visitors/${uid}`);
const snapshot = await get(dbRef);
const value = snapshot.val();
return value;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.