Cloud Firestore:是否可以同步读取缓存?
Cloud Firestore: can cache be read synchronously?
可以从缓存中同步检索文档吗?
对于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
仅在数据来自服务器时才会被调用。它似乎从未被缓存数据调用过。
谁能证实一下?
官方文档只给出了一个异步的例子,因为没有同步的例子。所有从缓存或直接从 Firebase 服务器在线完成的读取操作都是 asynchronous
,您无法更改此行为。
您所要求的可以在常规 JVM 上完成,使用常规 Java 同步原语,但这不适用于 Android。
可以从缓存中同步检索文档吗?
对于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
仅在数据来自服务器时才会被调用。它似乎从未被缓存数据调用过。
谁能证实一下?
官方文档只给出了一个异步的例子,因为没有同步的例子。所有从缓存或直接从 Firebase 服务器在线完成的读取操作都是 asynchronous
,您无法更改此行为。
您所要求的可以在常规 JVM 上完成,使用常规 Java 同步原语,但这不适用于 Android。