这个页面的操作符可用于根据条件发射或变换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( ) and takeWhileWithIndex( ) — 发射原始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( ) and isEmpty( ) — 判断Observable是否发射了一个值
  • sequenceEqual( ) — test the equality of the sequences emitted by two Observables判断两个Observables发射的序列是否相等