加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

RxJava – Observable的zip列表

发布时间:2020-12-14 23:59:22 所属栏目:Java 来源:网络整理
导读:我有一个Observables列表(Rx Java 1). ListObservable observableList = new ArrayList(); 它可以包含至少1个Observable.每个都有相同类型的结果. 如何压缩所有Observable的结果? 我想到了zip-operator但它不支持List,我不知道可观察量的数量(可以是1,2,3,4
我有一个Observables列表(Rx Java 1).
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省略.

例如,您可以这样做:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读