条件和布尔操作符
2018-09-28 本文已影响12人
CyrusChan
这章节说明一些这样的操作符,你可以带条件的发射或者转换Observable,或者你可以评估他们的布尔值。
Conditional Operators
- amb( )— 给定两个或者更多的Observable,从第一个Observable中发射出所有的item来发射一个item
- defaultIfEmpty( )— 从源Observable中发射item,或者发射一个默认的item如果源Observable在没有发射任何item就已经完成了。
- (rxjava-computation-expressions) doWhile( ) — 发射源Observable序列,且在条件为true的情况下一只重复这个序列
- (rxjava-computation-expressions) ifThen( ) —如果条件为真,仅发射源Obseravble的序列,否则发射一个空的或者默认的序列。
- skipUntil( )— 抛弃被源Obseravble发射的item直到第二个Observable发射一个item,接着发射源Observable剩余的item.
- skipWhile( )— 抛弃被Obseravble发射的item直到特定的条件为false,接着发射剩余的item.
- (rxjava-computation-expressions) switchCase( ) —根据评估的结果从一个特定的Observable发射序列
- takeUntil( )— 从源Observable发射item直到第二个Obseravble发射一个item或者发出一个通知。
- takeWhile( )**** and ****takeWhileWithIndex( )— 只要指定条件为真,就发射被Obseravble发出的item,然后跳过剩余的部分。
- (rxjava-computation-expressions) whileDo( ) — 如果条件为真,发射源Obseravble序列,且只要条件保持为真一直重复该序列
- (rxjava-computation-expressions) — 说明这个操作符 是 在 rxjava-contrib 可选的rxjava-computation-expressions 包的一部分 且不被包含在标准Rxjava的操作符当中。
Boolean Operators
- all( )— 判定被一个Observable发射的所有item是否符合某些标准。
- contains( )— 判定一个Obseravble是否发射一个特别的item。
- exists( )**** and ****isEmpty( )— 判定一个Observable是否发射任何item
- sequenceEqual( )— 测试两个被Obseravble发射的序列的相等性