快照监听器的第一个查询快照

时间:2019-11-29 11:05:39

标签: firebase google-cloud-firestore

根据Firebase-Firestore文档,当我们基于查询启用侦听器时,snapshotListeners将提供所有可用记录。

Firestore文档:

  

第一个查询快照包含与该查询匹配的所有现有文档的已添加事件。这是因为您要进行一系列更改,使查询快照具有当前查询的初始状态。例如,这使您可以从在第一个查询快照中收到的更改直接填充UI,而无需添加用于处理初始状态的特殊逻辑。

据我了解,无法禁用此功能,但是有一些解决方法。

我的问题是,对于第一次初始化期间收到的每条记录,这种行为是否算作一次读取?

1 个答案:

答案 0 :(得分:1)

  

我的问题是,此行为是否视为每条记录的一次读取   是否在第一次初始化期间收到?

答案是肯定的:“查询的初始状态”表示已读取与查询相对应的所有文档。


但是,如documentation中所述:

  

初始状态可以直接来自服务器,也可以来自本地   缓存。如果本地缓存中有可用状态,则查询   快照将首先使用缓存的数据填充。

如果初始状态来自本地缓存(请参见offline data persistence),则该状态将不会计入任何读取。