可以从缓存中同步检索文档吗?
对于Android,文档仅提供asynchronous
示例?
DocumentReference docRef = db.collection("cities").document("SF");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
...
}
}
});
更新:
在我看来,只有当数据来自服务器时才会调用onComplete
。似乎没有用缓存数据调用它。
任何人都可以确认吗?
答案 0 :(得分:4)
官方文档仅提供异步示例,因为不存在同步示例。从缓存或直接从Firebase服务器联机完成的所有读取操作均为asynchronous
,您无法更改此行为。
您所问的可以在常规JVM上完成,使用常规Java同步原语,但这不适用于Android。