我一直在使用新的云 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 模拟器。
Thanks
写入数据库的操作被定义为在实际提交到后端后发出完成信号。结果,这按预期工作:离线时它们不会发出完成信号。
请注意,Firestore 客户端内部保证您可以读取自己的写入,即使您不等待删除任务完成也是如此。
在大多数情况下,这意味着您不需要等待此任务完成。您有什么特别的理由对此感兴趣吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)