java使用改型和RxJava(Android)组合来自多个API调用的数据
我想做的是访问几个不同URL上的数据,组合这些数据,然后在我的应用程序中使用它们。我在获取所需的所有数据方面没有问题,但我不知道如何将数据合并到一个列表中,并知道所有API调用何时完成(所有数据都在列表中)
下面是我进行API调用的循环:
for(String diningCourt: diningCourts){
menuApi.getMenu(diningCourt, date)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(responseData -> {
//I want to add responseData to a list with
//the results from the rest of the calls
});
}
收集数据的正确方法是什么?我曾尝试使用静态类变量来存储结果,但最终只得到一个API调用的数据。如有任何建议,将不胜感激
# 1 楼答案
我们使用“combineLatest”参见http://reactivex.io/documentation/operators/combinelatest.html 使用这个操作符,两个调用都会执行,当两个调用都完成时,您会得到一个结果