这个页面的操作符可用于根据条件发射或变换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( )
— 如果条件为true
,则发射源Observable数据序列,并且只要条件保持为true
就重复发射此数据序列
(
rxjava-computation-expressions
) — 表示这个操作符当前是可选包rxjava-computation-expressions
的一部分,还没有包含在标准RxJava的操作符集合里
布尔操作符
all( )
— 判断是否所有的数据项都满足某个条件contains( )
— 判断Observable是否会发射一个指定的值exists( )
andisEmpty( )
— 判断Observable是否发射了一个值sequenceEqual( )
— 判断两个Observables发射的序列是否相等