[英]RxAndroid: Merge multiple calls
我从RxAndroid开始使用Rx,并希望通过Retrofit通过其API列出图像。
改造界面:
public interface ImageApi {
@GET("image")
Observable<ImageDto> getImage(@Query("id") final Integer id);
}
在这里,我得到一个对象:
public void getImage(final Integer id, final Observer<ImageDto> observer) {
imageApi.getImage(id)
.subscribeOn(Schedulers.newThread())
.subscribe(observer);
}
然后我想,获取列表图像的方法更加复杂。 在这种情况下,List具有一个元素:
public void getImages(final List<Integer> ids, final Observer<List<ImageDto>> observer) {
Observable.from(ids).flatMap(new Func1<Integer, Observable<ImageDto>>() {
@Override
public Observable<ImageDto> call(Integer id) {
return imageApi.getImage(id);
}
}).toList().subscribeOn(Schedulers.newThread()).subscribe(observer);
了解我应该使用:
Observable.zip
但是我不知道怎么做。 有人可以帮我吗?
代码正确。 我犯了一个错误,列表中只有一个ID。 解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.