在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 教程/ Android/ 條件和布爾操作
調(diào)度器 Scheduler
Empty/Never/Throw
Replay
這個頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數(shù)據(jù)發(fā)射完成(通常也必須緩存這些數(shù)據(jù)),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實現(xiàn)自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個頁面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數(shù)據(jù)序列。
這個頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個頁面展示了可用于對Observable發(fā)射的數(shù)據(jù)執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個頁面展示的操作符可用于組合多個Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

條件和布爾操作

All

判定是否Observable發(fā)射的所有數(shù)據(jù)都滿足某個條件

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/all.c.png" alt="all" />

傳遞一個謂詞函數(shù)給All操作符,這個函數(shù)接受原始Observable發(fā)射的數(shù)據(jù),根據(jù)計算返回一個布爾值。All返回一個只發(fā)射一個單個布爾值的Observable,如果原始Observable正常終止并且每一項數(shù)據(jù)都滿足條件,就返回true;如果原始Observable的任何一項數(shù)據(jù)不滿足條件就返回False。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/all.png" alt="all" />

RxJava將這個操作符實現(xiàn)為all,它默認不在任何特定的調(diào)度器上執(zhí)行。

Amb

給定兩個或多個Observables,它只發(fā)射首先發(fā)射數(shù)據(jù)或通知的那個Observable的所有數(shù)據(jù)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/amb.c.png" alt="amb" />

當你傳遞多個Observable給Amb時,它只發(fā)射其中一個Observable的數(shù)據(jù)和通知:首先發(fā)送通知給Amb的那個,不管發(fā)射的是一項數(shù)據(jù)還是一個onErroronCompleted通知。Amb將忽略和丟棄其它所有Observables的發(fā)射物。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/amb.png" alt="amb" />

RxJava的實現(xiàn)是amb,有一個類似的對象方法ambWith。例如,Observable.amb(o1,o2)o1.ambWith(o2)是等價的。

這個操作符默認不在任何特定的調(diào)度器上執(zhí)行。

Contains

判定一個Observable是否發(fā)射一個特定的值

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/contains.c.png" alt="contains" />

Contains傳一個指定的值,如果原始Observable發(fā)射了那個值,它返回的Observable將發(fā)射true,否則發(fā)射false。

相關(guān)的一個操作符IsEmpty用于判定原始Observable是否沒有發(fā)射任何數(shù)據(jù)。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/contains.png" alt="contains" />

contains默認不在任何特定的調(diào)度器上執(zhí)行。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/exists.png" alt="exists" />

RxJava中還有一個exists操作符,它通過一個謂詞函數(shù)測試原始Observable發(fā)射的數(shù)據(jù),只要任何一項滿足條件就返回一個發(fā)射true的Observable,否則返回一個發(fā)射false的Observable。

exists默認不在任何特定的調(diào)度器上執(zhí)行。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/isEmpty.png" alt="isEmpty" />

isEmpty默認不在任何特定的調(diào)度器上執(zhí)行。

DefaultIfEmpty

發(fā)射來自原始Observable的值,如果原始Observable沒有發(fā)射任何值,就發(fā)射一個默認值

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/defaultIfEmpty.c.png" alt="defaultIfEmtpy" />

DefaultIfEmpty簡單的精確地發(fā)射原始Observable的值,如果原始Observable沒有發(fā)射任何數(shù)據(jù)正常終止(以onCompletedd的形式),DefaultIfEmpty返回的Observable就發(fā)射一個你提供的默認值。

RxJava將這個操作符實現(xiàn)為defaultIfEmpty。它默認不在任何特定的調(diào)度器上執(zhí)行。

還有一個新的操作符switchIfEmpty,不在RxJava 1.0.0版中,它和defaultIfEmtpy類似,不同的是,如果原始Observable沒有發(fā)射數(shù)據(jù),它發(fā)射一個備用Observable的發(fā)射物。

SequenceEqual

判定兩個Observables是否發(fā)射相同的數(shù)據(jù)序列。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/sequenceEqual.c.png" alt="sequenceEqual" />

傳遞兩個Observable給SequenceEqual操作符,它會比較兩個Observable的發(fā)射物,如果兩個序列是相同的(相同的數(shù)據(jù),相同的順序,相同的終止狀態(tài)),它就發(fā)射true,否則發(fā)射false。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/sequenceEqual.png" alt="sequenceEqual" />

它還有一個版本接受第三個參數(shù),可以傳遞一個函數(shù)用于比較兩個數(shù)據(jù)項是否相同。

這個操作符默認不在任何特定的調(diào)度器上執(zhí)行。

SkipUntil

丟棄原始Observable發(fā)射的數(shù)據(jù),直到第二個Observable發(fā)射了一項數(shù)據(jù)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/skipUntil.c.png" alt="skipUntil" />

SkipUntil訂閱原始的Observable,但是忽略它的發(fā)射物,直到第二個Observable發(fā)射了一項數(shù)據(jù)那一刻,它開始發(fā)射原始Observable。

RxJava中對應的是skipUntil,它默認不在任何特定的調(diào)度器上執(zhí)行。

SkipWhile

丟棄Observable發(fā)射的數(shù)據(jù),直到一個指定的條件不成立

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/skipWhile.c.png" alt="skipWhile" />

SkipWhile訂閱原始的Observable,但是忽略它的發(fā)射物,直到你指定的某個條件變?yōu)閒alse的那一刻,它開始發(fā)射原始Observable。

skipWhile默認不在任何特定的調(diào)度器上執(zhí)行。

TakeUntil

當?shù)诙€Observable發(fā)射了一項數(shù)據(jù)或者終止時,丟棄原始Observable發(fā)射的任何數(shù)據(jù)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/takeUntil.c.png" alt="takeUntil" />

TakeUntil訂閱并開始發(fā)射原始Observable,它還監(jiān)視你提供的第二個Observable。如果第二個Observable發(fā)射了一項數(shù)據(jù)或者發(fā)射了一個終止通知,TakeUntil返回的Observable會停止發(fā)射原始Observable并終止。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/takeUntil.png" alt="takeUntil" />

RxJava中的實現(xiàn)是takeUntil。注意:第二個Observable發(fā)射一項數(shù)據(jù)或一個onError通知或一個onCompleted通知都會導致takeUntil停止發(fā)射數(shù)據(jù)。

takeUntil默認不在任何特定的調(diào)度器上執(zhí)行。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/takeUntil.p.png" alt="takeUntil" />

還有一個版本的takeUntil,不在RxJava 1.0.0版中,它使用一個謂詞函數(shù)而不是第二個Observable來判定是否需要終止發(fā)射數(shù)據(jù),它的行為類似于takeWhile。

TakeWhile

發(fā)射Observable發(fā)射的數(shù)據(jù),直到一個指定的條件不成立

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/takeWhile.c.png" alt="takeWhile" />

TakeWhile發(fā)射原始Observable,直到你指定的某個條件不成立的那一刻,它停止發(fā)射原始Observable,并終止自己的Observable。

RxJava中的takeWhile操作符返回一個鏡像原始Observable行為的Observable,直到某一項數(shù)據(jù)你指定的函數(shù)返回false那一刻,這個新的Observable發(fā)射onCompleted終止通知。

takeWhile默認不在任何特定的調(diào)度器上執(zhí)行。