在本机反应中获取和返回 Firestore 集合
Posted
技术标签:
【中文标题】在本机反应中获取和返回 Firestore 集合【英文标题】:Get and return firestore collections in react native 【发布时间】:2021-07-15 03:25:15 【问题描述】:我刚开始学习对原生和 firebase 做出反应,所以我想从 firestore 获取所有集合,但问题是当我想返回数据时,即使我使用 async/等待
async getAllAssistances()
let allAssistances;
const assistances = await firebase.firestore().collection('assistances')
assistances.get().then((querySnapshot :any) =>
const tempDoc = querySnapshot.docs.map((doc:any) =>
return id: doc.id, ...doc.data()
)
console.log('====================================');
console.log(tempDoc);
console.log('====================================');
allAssistances = tempDoc;
)
console.log('********************************');
console.log(allAssistances);
console.log('********************************');
return allAssistances;
// Output :
====================================
Array [
Object
"city": "test",
"description": "test",
"id": "0N0iYx8RCPPSIEXfUQUk",
"latitude": 1,
"longitude": 1,
"nbPlaces": 1,
,
]
====================================
********************************
undefined
********************************
【问题讨论】:
【参考方案1】:您在collection
上使用await
,这实际上不是异步函数。但是您在.get()
上使用.then()
,即.您应该使用 await
来实现该功能。
async getAllAssistances()
const assistances = firebase.firestore().collection('assistances')
const querySnapshot = await assistances.get()
const tempDoc = querySnapshot.docs.map((doc:any) =>
return id: doc.id, ...doc.data()
)
console.log('====================================');
console.log(tempDoc);
console.log('====================================');
const allAssistances = tempDoc;
console.log('********************************');
console.log(allAssistances);
console.log('********************************');
return allAssistances;
【讨论】:
以上是关于在本机反应中获取和返回 Firestore 集合的主要内容,如果未能解决你的问题,请参考以下文章