RxJava2操作符之“Merge”

作用

combine Observable
合并被观察者

示例用法

        final String[] aStrings = {"A1", "A2", "A3", "A4"};
        final String[] bStrings = {"B1", "B2", "B3"};

        final Observable aObservable = Observable.fromArray(aStrings);
        final Observable 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”)