【发布时间】:2020-11-13 16:45:37
【问题描述】:
目前我正在从基于propertyId 的属性中加载所有公司,如下图所示:
useEffect(() => {
const loadCompanies = () => {
try {
setLoading(true);
return firebase
.firestore()
.collection(`/properties/${user.propertyId}/companies`)
.orderBy('companyName', 'asc')
.onSnapshot((querySnapshot) => {
const allCompanies = [];
querySnapshot.forEach((doc) => {
allCompanies.push({
id: doc.id,
...doc.data(),
});
});
setCompanies(allCompanies);
setLoading(false);
});
} catch (error) {
console.log(error);
setError(error.message);
}
};
if (user) {
return loadCompanies();
}
}, [user]);
我现在有一个 propertyIds 数组,需要对每个 propertyId 重复相同的过程
我应该如何遍历每个propertyId并将所有公司存储在一个变量中,然后最后更新状态?
我尝试使用 Promise.all 但我认为我做得不对。
【问题讨论】:
标签: javascript firebase google-cloud-firestore promise async-await