【发布时间】:2020-09-29 22:08:28
【问题描述】:
在我的网站上,我正在尝试为 Firebase 可能离线时添加错误处理。到目前为止,我设法让 Firestore 仅在我仅获取一个文档时抛出离线错误。但是,当我查询多个文档时,Firestore 会假装没有发生任何错误,只是返回一个空列表。
以下代码仅获取一个文档,如果 Firebase 离线/无法访问,将正确引发 Firestore 错误。
const getProjectEntry = async (projectEntryId: string) => {
const doc = await db.collection('projectentries').doc(projectEntryId).get();
if (doc.exists && doc) {
return { ...doc.data(), id: doc.id } as IProjectEntry;
}
return null;
};
以下代码获取多个文档并假装一切正常,并在离线时返回一个空列表。
const getProjectEntries = async () => {
const querySnapshot = (await db.collection('projectentries').get()).docs;
return querySnapshot.map((doc) => {
return { ...doc.data(), id: doc.id } as IProjectEntry;
});
};
【问题讨论】:
标签: typescript firebase google-cloud-firestore