RxJava – Observable的zip列表

前端之家收集整理的这篇文章主要介绍了RxJava – Observable的zip列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Observables列表(Rx Java 1). @H_404_2@List<Observable> observableList = new ArrayList<>();

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

如何压缩所有Observable的结果?

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

解决方法

您可以使用静态 zip(java.lang.Iterable<? extends Observable<?>> ws,FuncN<? extends R> zipFunction) method.

它是一个zip方法,它接受一个I​​terable of Observables和一个FuncN(它的调用方法采用varargs参数)并使用它将相应的发射对象组合成结果,以便新返回的Observable省略.

例如,您可以这样做:

@H_404_2@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; } });

猜你在找的Java相关文章