rx-java - RxJava 对可变长度的 Retrofit Observable 数组进行 zip 操作

标签 rx-java observable retrofit2 rx-android

我有一个可变长度的 Observable 数组。我想压缩请求(即发出一堆 API 请求并等待所有请求完成),但我不知道如何实现压缩功能。

Observable.zip(observables, new FuncN<List<ResponseBody>>() {
    @Override
    public List<ResponseBody> call(Object... args) {
        return Arrays.asList(args); <- compile error here
    }
});

这里是 obserablesList<Observable<ResponseBody>> 的数组并且它的长度是先验未知的。

调用zip函数的参数无法修正为ResponseBody... .如何让它返回 Observable<List<ResponseBody>>

FuncN的设计约束吗? RxJava 1.x.x?

附言我正在使用 RxJava 1.1.6

最佳答案

只是merge您的可观察对象并使用 toList 收集结果:

Observable.merge(observables).toList()

关于rx-java - RxJava 对可变长度的 Retrofit Observable 数组进行 zip 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42412444/

相关文章:

kotlin - 使用 Kotlin 在 RxJava 中处理可空类型

http - 根据 Angular 2中先前请求的结果执行http请求

events - 在多线程代码中使用 F# 事件和异步事件

android - 改造 2 : How to upload image with JSONObject in android

android - 改造 : How to make XML request and get back JSON response

java - RxJava 过滤后获取下一项

kotlin - 在多次更新对象时,仅更新最后一个对象。我希望执行所有更新操作

knockout.js - 将 Knockout 可观察变量重置为其起始值

android - RxJavaCallAdapter 和结果代码

java - 在 Groovy 中强制显式返回语句,尤其是基于 RxJava 的代码?