RxJava2操作符之“Merge”

作用

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发射顺序相同

总结

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容