簡體   English   中英

RxAndroid:合並多個呼叫

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM