本地合併 Firestore 查詢
由於 Firestore 缺乏邏輯 OR 運算符,因此在本地合併多個查詢可能是一個挑戰。一種方法是將查詢嵌套在另一個查詢的 onSuccessListener 中。然而,這可能會引起對性能的擔憂。
為了解決這個問題,建議使用任務的替代解決方案。 whenAllSuccess() 方法合併兩個或多個任務,並在所有任務成功完成時呼叫回呼:
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() 回呼的清單包含兩個查詢的結果與定義任務的順序相同。
另一個選項是 continueWith() 方法,該方法會連結任務並在前面的任務成功完成時呼叫回調。 whenAllSuccess() 和 continueWith() 之間的選擇取決於特定的應用程式要求和用例。
以上是如何使用任務在本機合併 Firestore 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!