本地合併 Firestore 查詢
使用 Firestore 時,沒有邏輯 OR 運算子來組合查詢。若要在本機合併兩個單獨的查詢,您可以使用 Tasks.whenAllSuccess() 方法。
Tasks.whenAllSuccess() 將任務清單作為參數,並傳回一個新任務,僅當所有輸入任務都成功完成時成功完成。傳回任務的結果是輸入任務結果的列表,其順序與輸入任務傳遞的順序相同。
以下是如何使用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 } });
當您重寫組合任務的onSuccess() 方法時,您將收到一個物件列表,其中包含作為參數傳遞的任務的確切順序進入whenAllSuccess()方法。這允許您合併兩個查詢的結果,同時保持正確的順序。
您也可以考慮使用 Tasks.continueWith() 來取代 Tasks.whenAllSuccess() 來實現類似的結果。但是,這兩種方法之間的選擇取決於應用程式的特定用例。有關 Tasks.continueWith() 的更多詳細信息,請參閱官方文檔。
以上是如何使用 Tasks.whenAllSuccess() 在本機組合 Firestore 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!