【发布时间】:2017-07-13 17:44:32
【问题描述】:
我有不同长度的 Observable 数组。我想压缩请求(即发出一堆 API 请求并等到所有请求都完成),但我不知道如何实现 zip 功能。
Observable.zip(observables, new FuncN<List<ResponseBody>>() {
@Override
public List<ResponseBody> call(Object... args) {
return Arrays.asList(args); <- compile error here
}
});
这里的obserables 是List<Observable<ResponseBody>> 的数组,它的长度是先验未知的。
zip函数中调用的参数不能更正为ResponseBody...。如何让它返回Observable<List<ResponseBody>>?
FuncNRxJava 1.x.x 的设计中是否有约束?
附:我正在使用 RxJava 1.1.6。
【问题讨论】:
-
到底是什么问题? FuncN 方法返回的类型是将由创建的运算符使用 zip 方法发出的项目类型,这意味着在这里您将拥有 Observable
- >
-
@yosriz,问题是
Arrays.asList(args)不是List<ResponseBody>类型,导致编译出错。
标签: rx-java observable retrofit2 rx-android