这个页面的操作符可用于根据条件发射或变换Observables,或者对它们做布尔运算:
条件操作符
-
amb( )
— 给定多个Observable,只让第一个发射数据的Observable发射全部数据 -
defaultIfEmpty( )
— 发射来自原始Observable的数据,如果原始Observable没有发射数据,就发射一个默认数据 - (
rxjava-computation-expressions
)doWhile( )
— 发射原始Observable的数据序列,然后重复发射这个序列直到不满足这个条件为止 - (
rxjava-computation-expressions
)ifThen( )
— 只有当某个条件为真时才发射原始Observable的数据序列,否则发射一个空的或默认的序列 -
skipUntil( )
— 丢弃原始Observable发射的数据,直到第二个Observable发射了一个数据,然后发射原始Observable的剩余数据 -
skipWhile( )
— 丢弃原始Observable发射的数据,直到一个特定的条件为假,然后发射原始Observable剩余的数据 - (
rxjava-computation-expressions
)switchCase( )
— 基于一个计算结果,发射一个指定Observable的数据序列 -
takeUntil( )
— 发射来自原始Observable的数据,直到第二个Observable发射了一个数据或一个通知 -
takeWhile( )
andtakeWhileWithIndex( )
— 发射原始Observable的数据,直到一个特定的条件为真,然后跳过剩余的数据 - (
rxjava-computation-expressions
)whileDo( )
— if a condition is true, emit the source Observable’s sequence and then repeat the sequence as long as the condition remains true如果满足一个条件,发射原始Observable的数据,然后重复发射直到不满足这个条件为止
(
rxjava-computation-expressions
) — 表示这个操作符当前是可选包rxjava-computation-expressions
的一部分,还没有包含在标准RxJava的操作符集合里
布尔操作符
-
all( )
— 判断是否所有的数据项都满足某个条件 -
contains( )
— 判断Observable是否会发射一个指定的值 -
exists( )
andisEmpty( )
— 判断Observable是否发射了一个值 -
sequenceEqual( )
— test the equality of the sequences emitted by two Observables判断两个Observables发射的序列是否相等