Rxjava學習(組合Observable)

Combining Observables(組合Observable)

1、Zip

通過一個函數將多個Observables的發射物結合到一起,基於這個函數的結果爲每個結合體發 射單個數據項。

Zip 操作符返回一個Obversable,它使用這個函數按順序結合兩個或多個Observables發射 的數據項,然後它發射這個函數返回的結果。它按照嚴格的順序應用這個函數。它只發射與 發射數據項最少的那個Observable一樣多的數據

   private static void zip() {
        Observable.zip(Observable.just(1, 2, 3), Observable.just("a", "b", "c", "d"), new Func2<Integer, String,
                String>() {
            @Override
            public String call(Integer integer, String s) {
                return s + integer;
            }
        }).subscribe(new Action1<String>() {
            @Override
            public void call(String s) {
                System.out.println(s);
            }
        });
    }

 運行結果:

a1
b2
c3

2、Merge

合併多個Observables的發射物, Merge 可能會讓合併的Observables發射的數據交錯(有一個類似的操作符 Concat 不會讓數 據交錯,它會按順序一個接着一個發射多個Observables的發射物

3、StartWith

4、CombineLatest

5、Join

6、SwitchOnNext

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章