私はAndroidアプリケーションの別スレッドでCloud Firestoreを使用していますので、別のスレッドでリスナーOnSuccessListener
とOnFailureListener
を使用したくありません。スレッドが結果を待つようにすることはできますか(必要に応じて例外をキャッチします)?Firebase Firestoreでデータを取得するコールバックを同期的に/非同期で
現在のクエリのコードは、このようなものです:私はしたいのですがどのような
FirebaseFirestore.getInstance().collection("someCollection").get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
// do something on the UI thread with the retrieved data
}
});
:
FirebaseFirestore.getInstance().collection("someCollection").getAndWaitForResult();
//Block the thread and wait for result, no callbacks.
//getAndWaitForResult() is not a real function, just something to describe my intention.
は私が前に解析サーバーで動作するように使用され、それは非常に些細でしたそこ。
あなたが正しく理解していれば、あなたは 'onStop'または' onPause'で始まるリクエストをキャンセルする必要があります。 – Ibrahim
本当にありません。私は説明するためにいくつかのコードを追加しました。 –
'EventListener'を使用してカスタムクラスで実装し、' onEvent() 'で必要なものをトリガーします – amrro