RxJava2操作符之“Merge”

作者: 坑吭吭 | 来源:发表于2017-03-31 15:44 被阅读458次

    作用

    combine Observable
    合并被观察者

    示例用法

            final String[] aStrings = {"A1", "A2", "A3", "A4"};
            final String[] bStrings = {"B1", "B2", "B3"};
    
            final Observable<String> aObservable = Observable.fromArray(aStrings);
            final Observable<String> bObservable = Observable.fromArray(bStrings);
    
            Observable.merge(aObservable, bObservable)//使用merge操作符将两个被观察者合并
                    .subscribe(getObserver());//这里的观察者依然不重要
    

    运行结果

    eg:"A1", "B1", "A2", "A3", "A4", "B2", "B3" - may be anything 反正就是把两个被观察者里的item全部发射出来了

    分析

    我们创建了两个被观察者,两个里面分别有不同的,很明显属于两个被观察者的一些事件。
    其中:
    A打头的都属于第一个被观察者
    B打头的都属于第二个被观察者

    然后用操作符merge将两个被观察者合并
    最后,我们从观察者中拿到的item有可能为:"A1", "B1", "A2", "A3", "A4", "B2", "B3"
    这个没有固定答案,只有示例输出,事件肯定是这些,但是输出顺序不固定

    注意

    再啰嗦一遍,这里要注意merge之后的Observable是不能保证和原来的Observable发射顺序相同

    总结

    这个系列只有干货,如果大家有什么好的建议的话欢迎在下面评论。或者觉得我哪里写的不够形象了,同样可以提出来。

    相关文章

      网友评论

        本文标题:RxJava2操作符之“Merge”

        本文链接:https://www.haomeiwen.com/subject/awdvottx.html