addOnCompleteListener 未使用 Cloud Firestore 离线调用

addOnCompleteListener not called offline with cloud firestore

我一直在使用新的云 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 方法在离线时永远不会被调用。一旦发生这种情况,我想关闭 activity 并显示一些 Snachbar。但与以往不同,activity 保持打开状态。我正在使用 android 工作室模拟器。

谢谢

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

请注意,Firestore 客户端在内部保证您可以读取自己的写入,即使您不等待删除任务完成也是如此。

在大多数情况下,这意味着您不需要等待此任务完成。您有什么特别的原因对此感兴趣吗?