這個(gè)頁(yè)面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對(duì)它們做布爾運(yùn)算:
amb(?)
— 給定多個(gè)Observable,只讓第一個(gè)發(fā)射數(shù)據(jù)的Observable發(fā)射全部數(shù)據(jù)defaultIfEmpty(?)
— 發(fā)射來(lái)自原始Observable的數(shù)據(jù),如果原始Observable沒(méi)有發(fā)射數(shù)據(jù),就發(fā)射一個(gè)默認(rèn)數(shù)據(jù)rxjava-computation-expressions
) doWhile(?)
— 發(fā)射原始Observable的數(shù)據(jù)序列,然后重復(fù)發(fā)射這個(gè)序列直到不滿足這個(gè)條件為止rxjava-computation-expressions
) ifThen(?)
— 只有當(dāng)某個(gè)條件為真時(shí)才發(fā)射原始Observable的數(shù)據(jù)序列,否則發(fā)射一個(gè)空的或默認(rèn)的序列skipUntil(?)
— 丟棄原始Observable發(fā)射的數(shù)據(jù),直到第二個(gè)Observable發(fā)射了一個(gè)數(shù)據(jù),然后發(fā)射原始Observable的剩余數(shù)據(jù)skipWhile(?)
— 丟棄原始Observable發(fā)射的數(shù)據(jù),直到一個(gè)特定的條件為假,然后發(fā)射原始Observable剩余的數(shù)據(jù)rxjava-computation-expressions
) switchCase(?)
— 基于一個(gè)計(jì)算結(jié)果,發(fā)射一個(gè)指定Observable的數(shù)據(jù)序列takeUntil(?)
— 發(fā)射來(lái)自原始Observable的數(shù)據(jù),直到第二個(gè)Observable發(fā)射了一個(gè)數(shù)據(jù)或一個(gè)通知takeWhile(?)
and takeWhileWithIndex(?)
— 發(fā)射原始Observable的數(shù)據(jù),直到一個(gè)特定的條件為真,然后跳過(guò)剩余的數(shù)據(jù)rxjava-computation-expressions
) whileDo(?)
— 如果條件為true
,則發(fā)射源Observable數(shù)據(jù)序列,并且只要條件保持為true
就重復(fù)發(fā)射此數(shù)據(jù)序列(
rxjava-computation-expressions
) — 表示這個(gè)操作符當(dāng)前是可選包rxjava-computation-expressions
的一部分,還沒(méi)有包含在標(biāo)準(zhǔn)RxJava的操作符集合里
all(?)
— 判斷是否所有的數(shù)據(jù)項(xiàng)都滿足某個(gè)條件contains(?)
— 判斷Observable是否會(huì)發(fā)射一個(gè)指定的值exists(?)
and isEmpty(?)
— 判斷Observable是否發(fā)射了一個(gè)值sequenceEqual(?)
— 判斷兩個(gè)Observables發(fā)射的序列是否相等