[英]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.