繁体   English   中英

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

[英]How to unsubscribe the Firestore fetching data?

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

我是这样取的:

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

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

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

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

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

如果这会导致您的应用出现问题,请考虑通过对结果进行分页来获取更少的数据,并且仅在文档即将变得可见时才加载它们。 这需要做更多的工作,但它可能会为大型数据集节省时间和金钱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM