<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 條件和布爾操作 ## All 判定是否Observable發射的所有數據都滿足某個條件 ![all](https://box.kancloud.cn/9f1fbb35e17097b4b790fa898aa57e28_1496x558.png) 傳遞一個謂詞函數給`All`操作符,這個函數接受原始Observable發射的數據,根據計算返回一個布爾值。`All`返回一個只發射一個單個布爾值的Observable,如果原始Observable正常終止并且每一項數據都滿足條件,就返回true;如果原始Observable的任何一項數據不滿足條件就返回False。 ![all](https://box.kancloud.cn/5a0cb12ade77b0381096d09ccec90d83_1280x630.png) RxJava將這個操作符實現為`all`,它默認不在任何特定的調度器上執行。 * Javadoc: [all(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#all(rx.functions.Func1)) ## Amb 給定兩個或多個Observables,它只發射首先發射數據或通知的那個Observable的所有數據 ![amb](https://box.kancloud.cn/b0435e920cbf9fa2af0a92098e4b82cc_1490x936.png) 當你傳遞多個Observable給`Amb`時,它只發射其中一個Observable的數據和通知:首先發送通知給`Amb`的那個,不管發射的是一項數據還是一個`onError`或`onCompleted`通知。`Amb`將忽略和丟棄其它所有Observables的發射物。 ![amb](https://box.kancloud.cn/e35a9ca370891aeab520a387f46f305c_1280x770.png) RxJava的實現是`amb`,有一個類似的對象方法`ambWith`。例如,`Observable.amb(o1,o2)`和`o1.ambWith(o2)`是等價的。 這個操作符默認不在任何特定的調度器上執行。 ## Contains 判定一個Observable是否發射一個特定的值 ![contains](https://box.kancloud.cn/f1dcfd42168c0355f1945d389cfc8a64_1496x560.png) 給`Contains`傳一個指定的值,如果原始Observable發射了那個值,它返回的Observable將發射true,否則發射false。 相關的一個操作符`IsEmpty`用于判定原始Observable是否沒有發射任何數據。 ![contains](https://box.kancloud.cn/891f11e027e3c5b5ddd6b2e8c942f1d1_1280x640.png) `contains`默認不在任何特定的調度器上執行。 * Javadoc: [contains(Object)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#contains(java.lang.Object)) ![exists](https://box.kancloud.cn/0679490757cb1395828f0282ed9cb9c0_1280x640.png) RxJava中還有一個`exists`操作符,它通過一個謂詞函數測試原始Observable發射的數據,只要任何一項滿足條件就返回一個發射true的Observable,否則返回一個發射false的Observable。 `exists`默認不在任何特定的調度器上執行。 * Javadoc: [exists(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#exists(rx.functions.Func1)) ![isEmpty](https://box.kancloud.cn/759009138d1f966d4dc9722b52a76592_1280x640.png) `isEmpty`默認不在任何特定的調度器上執行。 * Javadoc: [isEmpty()](http://reactivex.io/RxJava/javadoc/rx/Observable.html#isEmpty()) ## DefaultIfEmpty 發射來自原始Observable的值,如果原始Observable沒有發射任何值,就發射一個默認值 ![defaultIfEmtpy](https://box.kancloud.cn/8a7cbd2332e2335e58f1a4eab4d2b550_1280x610.png) `DefaultIfEmpty`簡單的精確地發射原始Observable的值,如果原始Observable沒有發射任何數據正常終止(以`onCompleted`d的形式),`DefaultIfEmpty`返回的Observable就發射一個你提供的默認值。 RxJava將這個操作符實現為`defaultIfEmpty`。它默認不在任何特定的調度器上執行。 * Javadoc: [defaultIfEmpty(T)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#defaultIfEmpty(T)) 還有一個新的操作符`switchIfEmpty`,不在RxJava 1.0.0版中,它和`defaultIfEmtpy`類似,不同的是,如果原始Observable沒有發射數據,它發射一個備用Observable的發射物。 ## SequenceEqual 判定兩個Observables是否發射相同的數據序列。 ![sequenceEqual](https://box.kancloud.cn/02377295822f697f4d46955037d18a75_1496x744.png) 傳遞兩個Observable給`SequenceEqual`操作符,它會比較兩個Observable的發射物,如果兩個序列是相同的(相同的數據,相同的順序,相同的終止狀態),它就發射true,否則發射false。 ![sequenceEqual](https://box.kancloud.cn/6c54a292f2313ff07b54aa57d863279f_1280x770.png) 它還有一個版本接受第三個參數,可以傳遞一個函數用于比較兩個數據項是否相同。 這個操作符默認不在任何特定的調度器上執行。 * Javadoc: [sequenceEqual(Observable,Observable)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#sequenceEqual(rx.Observable,%20rx.Observable)) * Javadoc: [sequenceEqual(Observable,Observable,Func2)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#sequenceEqual(rx.Observable,%20rx.Observable,%20rx.functions.Func2)) ## SkipUntil 丟棄原始Observable發射的數據,直到第二個Observable發射了一項數據 ![skipUntil](https://box.kancloud.cn/313e204b0df656fc149e08ca3196a6a2_1496x746.png) `SkipUntil`訂閱原始的Observable,但是忽略它的發射物,直到第二個Observable發射了一項數據那一刻,它開始發射原始Observable。 RxJava中對應的是`skipUntil`,它默認不在任何特定的調度器上執行。 * Javadoc: [skipUntil(Observable)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#skipUntil(rx.Observable)) ## SkipWhile 丟棄Observable發射的數據,直到一個指定的條件不成立 ![skipWhile](https://box.kancloud.cn/e0f55110b55913e46198b4e40b0afc4d_1280x610.png) `SkipWhile`訂閱原始的Observable,但是忽略它的發射物,直到你指定的某個條件變為false的那一刻,它開始發射原始Observable。 `skipWhile`默認不在任何特定的調度器上執行。 * Javadoc: [skipWhile(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#skipWhile(rx.functions.Func1)) ## TakeUntil 當第二個Observable發射了一項數據或者終止時,丟棄原始Observable發射的任何數據 ![takeUntil](https://box.kancloud.cn/770be264cfe13a785698e6bb3b890906_1494x746.png) `TakeUntil`訂閱并開始發射原始Observable,它還監視你提供的第二個Observable。如果第二個Observable發射了一項數據或者發射了一個終止通知,`TakeUntil`返回的Observable會停止發射原始Observable并終止。 ![takeUntil](https://box.kancloud.cn/74ccb9e57defd367a91e79764b88238c_1280x760.png) RxJava中的實現是`takeUntil`。注意:第二個Observable發射一項數據或一個`onError`通知或一個`onCompleted`通知都會導致`takeUntil`停止發射數據。 `takeUntil`默認不在任何特定的調度器上執行。 * Javadoc: [takeUntil(Observable)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#takeUntil(rx.Observable)) ![takeUntil](https://box.kancloud.cn/a5ef45177f1c42eb2dbc6de6b3c58b7c_1280x610.png) 還有一個版本的`takeUntil `,不在RxJava 1.0.0版中,它使用一個謂詞函數而不是第二個Observable來判定是否需要終止發射數據,它的行為類似于`takeWhile`。 * Javadoc: [takeUntil(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#takeUntil(rx.functions.Func1)) ## TakeWhile 發射Observable發射的數據,直到一個指定的條件不成立 ![takeWhile](https://box.kancloud.cn/59d5741223c3b274c41b1e147b552c0a_1280x610.png) `TakeWhile`發射原始Observable,直到你指定的某個條件不成立的那一刻,它停止發射原始Observable,并終止自己的Observable。 RxJava中的`takeWhile`操作符返回一個鏡像原始Observable行為的Observable,直到某一項數據你指定的函數返回`false`那一刻,這個新的Observable發射`onCompleted`終止通知。 `takeWhile`默認不在任何特定的調度器上執行。 * Javadoc: [takeWhile(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#takeWhile(rx.functions.Func1))
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看