addOnCompleteListener未使用云防火墙进行脱机调用

时间:2017-10-10 17:31:23

标签: android google-cloud-firestore

我一直在使用新的云端防火墙数据库编写应用程序。虽然启用了离线持久性,但离线时很多东西都不能顺利运行,这很有效。 例如,我执行以下操作:

ref.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    //Do something
                } else {
                    //Do another thing
                }

            }
        });

但是,离线时永远不会调用onComplete方法。一旦发生这种情况,我想关闭活动并显示一些Snachbar。但从未如此,活动仍然开放。我正在使用android studio模拟器。

由于

1 个答案:

答案 0 :(得分:8)

写入数据库的操作被定义为在实际提交到后端后发出完成信号。因此,这是按预期工作的:离线时,他们不会完成信号。

请注意,即使您没有等待从删除中完成任务,Firestore客户端也会在内部保证您可以阅读自己的写入。

在大多数情况下,这意味着您不需要等待此任务完成。您有兴趣这样做是否有任何特殊原因?