我使用foursquare API检索附近场地的照片并显示它们。 我是通过RxJava和Retrofit来做的。 我第一次需要请求具有适当ID的场地列表,第二次请求应该使用id作为参数来检索每个场所的照片。 我想用单个RxJava调用来做所有事情,因为这是最好的做法,不是吗? 下面是我的代码,不幸的是,当我应该做第二个请求时,我卡在了这个地方。任何提示我应该如何解决?
Observable<VenuesResponse> observable = mApiService.getVenues();
observable
.map(new Function<VenuesResponse, List<VenuesItem>>() {
@Override
public List<VenuesItem> apply(VenuesResponse venuesResponse) throws Exception {
return venuesResponse.getResponse().getVenues();
}
})
.flatMap(new Function<List<VenuesItem>, ObservableSource<VenuesItem>>() {
@Override
public ObservableSource<VenuesItem> apply(List<VenuesItem> venuesItems) throws Exception {
return Observable.fromIterable(venuesItems);
}
})
//TODO code that requests for photo and adds url to VenuesItem
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
}