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。