Menggabungkan Pertanyaan Firestore Secara Setempat
Apabila bekerja dengan Firestore, tiada operator OR logik untuk menggabungkan pertanyaan. Untuk menggabungkan dua pertanyaan berasingan secara setempat, anda boleh menggunakan kaedah Tasks.whenAllSuccess().
Tasks.whenAllSuccess() mengambil senarai tugas sebagai argumen dan mengembalikan tugasan baharu yang berjaya diselesaikan hanya apabila semua tugasan input selesai dengan jayanya. Hasil tugasan yang dikembalikan ialah senarai hasil tugasan input, dalam susunan yang sama di mana tugasan input telah diluluskan.
Begini cara anda boleh menggabungkan dua pertanyaan menggunakan Tasks.whenAllSuccess():
FirebaseFirestore rootRef = FirebaseFirestore.getInstance(); Query firstQuery = rootRef... Query secondQuery = rootRef... Task firstTask = firstQuery.get(); Task secondTask = secondQuery.get(); Task combinedTask = Tasks.whenAllSuccess(firstTask, secondTask).addOnSuccessListener(new OnSuccessListener<List<Object>>() { @Override public void onSuccess(List<Object> list) { // Do what you need to do with your list } });
Apabila anda mengatasi kaedah onSuccess() tugasan gabungan, anda akan menerima senarai objek dengan susunan yang tepat tugasan yang telah diluluskan sebagai hujah ke dalam kaedah whenAllSuccess(). Ini membolehkan anda menggabungkan hasil dua pertanyaan sambil mengekalkan susunan yang betul.
Daripada Tasks.whenAllSuccess(), anda juga boleh mempertimbangkan untuk menggunakan Tasks.continueWith() untuk mencapai hasil yang serupa. Walau bagaimanapun, pilihan antara dua kaedah bergantung pada kes penggunaan khusus aplikasi anda. Rujuk dokumentasi rasmi untuk butiran lanjut tentang Tasks.continueWith().
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Pertanyaan Firestore Secara Setempat Menggunakan Tasks.whenAllSuccess()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!