要在本地合并2个单独的查询,建议您使用
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()方法时,结果是list对象的,这些对象具有作为参数传递给whenAllSuccess()方法的任务的确切顺序。
还有另一种方法,那就是使用Tasks.continueWith()方法。但是根据您的应用程序的用例,您可以使用whenAllSuccess()一种或多种continueWith()方法。请参阅此处的官方文档。



