小编Tru*_*lNL的帖子

Firestore 的 hasPendingWrites() 对已删除的文档返回 false

我注册了一个侦听器,用于侦听对查询的更改。当一个文档被移除/删除时,它需要检查更改是否是本地的。如果更改是本地更改,则会显示一条消息。如果它不是本地的,则该对象将被删除。

问题是在侦听器中签入时hasPendingWrites()返回false。这是为什么?根据 Firestore 文档,这应该是true第一次,因为在更改本地缓存时会立即触发侦听器。

AsyncArrayHandler 的简化代码,在监听器激活时调用:

for (DocumentChange documentChange : queryDocumentSnapshots.getDocumentChanges())
{
    changeIsMadeLocal = documentChange.getDocument().getMetadata().hasPendingWrites();
    switch (documentChange.getType())
    {
        case REMOVED:
            if (changeIsMadeLocal)
            {
                //do stuff here
            }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

android listener firebase google-cloud-firestore

7
推荐指数
1
解决办法
574
查看次数