javascript - 如何取消订阅 Firestore 获取数据?

标签 javascript firebase react-native google-cloud-firestore

我想在组件卸载时取消订阅获取。

我这样获取:

const snapshot = await db.collection(`users/user/messages`);

如果互联网速度较慢,这可能需要一段时间,并且在获取完成之前,组件可能会卸载。

那么当组件卸载时如何在后台取消订阅或取消?

最佳答案

我假设您的代码实际上有一个 .get() 行尾,以便实际执行查询。

返回 Promise 的 Firestore 操作无法取消(就像几乎所有返回 Promise 的 API 一样)。 promise 最终会解决或拒绝。您无需对由此获得的任何数据执行任何操作,但 SDK 肯定会等待查询完成并获取所有数据。

如果这会给您的应用带来问题,请考虑通过对结果进行分页来获取更少的数据,并且仅在文档即将可见时加载文档。这是一项繁重的工作,但对于大型数据集来说,它可能会节省您的时间和金钱。

关于javascript - 如何取消订阅 Firestore 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59979393/

相关文章:

javascript - 在 AJAX 完成时加载 GIF

Firebase 云功能管理员

react 原生的 Firebase 电子商务分析

reactjs - 如何通过 React Native 中的 Toggle 更改主题颜色?

javascript - 如何覆盖 .select2-results .select2-highlighted color

javascript - 如何实现类似于 youtube 卡片的上下文菜单?

javascript - 如何用 JS/React 复制 Jinja2 宏?

javascript - Firebase 函数返回

swift - 如何同时按日期范围和其他一些参数获取 firebase 数据

javascript - stripe firebase 可调用函数返回 null