RxJava – Observable的zip列表

我有一个Observables列表(RxJava 1)。

List observableList = new ArrayList(); 

它可以包含至少1个Observable。 每个都有相同类型的结果。

如何压缩所有Observable的结果?

我想到了zip-operator但它不支持List,我不知道可观察量的数量(可以是1,2,3,4 ……)

您可以使用静态zip(java.lang.Iterable> ws,FuncN zipFunction)方法 。

它是一个zip方法,它接受一个IterableObservable和一个FuncN (它的call方法接受一个varargs参数)并使用它将相应的发出的Object组合成结果,以便新返回的Observable省略。

例如,您可以这样做:

 Observable.zip(observableList, new FuncN(){ public ReturnType call(java.lang.Object... args){ ReturnType result; //to be made //preparatory code for using the args for (Object obj : args){ ReturnType retObj = (ReturnType)obj; //code to use the arg once at a time to combine N of them into one. } return result; } });