RxJava-操作符 初步学习

来源:互联网 发布:人工智能聊天app 编辑:程序博客网 时间:2024/06/05 15:58

Rxjava操作符

mergeDelayError:合并几个不同的observable

sample:每隔一段时间进行采样,在时间间隔范围内获取最后一个发布的observable

flatmap :把某一个observable转换成另一个observable

创建observalbe

Observalbe.from Observable.create Observable.just

Observable转换操作符

Observable.map Observable.flatmap Observable.buffer

Observable过滤操作符

Observable.filter Observalbe.sample Observalbe.take

Observable组合操作符

Observable.join Observable.merge Observalbe.combineLatest

Observable错误操作符

Observable.onErrorResumeNext Observalbe.retly

Observable功能性操作符

Observable.subscribeon Observale.observeon Observalbe.delay

Observable条件操作符

Observable.amb Observable.contains Observale.skipuntil

Observable数学运算及聚合操作符

Observable.count Observable.reduce Observable.concat

其他

Observable.toList Observable.connect Observable.publish

在使用create操作符时,最好要在回调的call函数中增加isUnsubscribed的判断

just操作符

just操作符也是把其他类型的对象和数据类型转换为Observable

defer操作符

defer操作符是直到有订阅者订阅时候,才通过Observable的工厂创建Observable,它保证Observable的状态是最新的

range操作符

range操作符是创建一组从N开始,个数为m的连续数字

Transforming Observables

buffer操作符

buffer操作符周期性的收集源observable产生的结果到列表中,并把这个列表提交给订阅者,订阅着处理后,清空buffer列表,同时接收下一次收集的结果并提交给订阅者,周而复始。

flatMap操作符

flat操作符通过传入一个函数作为参数转换源Observable,在这个函数中,你可以自定义转换规则,最后在这个函数中返回一个新的Observable,然后flatmap操作符通过合并这些Observable结果成一个Observable,并依次提交给订阅者。

san操作符

scan操作符通过遍历源Observable产生的结果,依次对每一个结果项按照指定规则进行运算,计算的结果作为下一个迭代项参数,每一次迭代项都会把计算结果输出给订阅者。

Filter Observables(Observable的过滤操作符)

  • deboune操作符
    debouncd操作符对源Observable每产生一个结果后,如果在规定的间隔时间内没有别的结果产生,则把这个结果提交给订阅者处理,否则忽略该结果。
  • distinct操作符
    distinct操作符对源Observable产生的结果进行过滤,把重复的结果的过滤掉,只输出不重复的给过滤者。
  • elementAt操作符
    elementAt操作符在源Observable产生的结果中,仅仅把指定索引的结果提交给订阅者,索引是从0开始的。
  • ofType操作符
    ofType操作符类似于filter操作符,区别在于oftype操作符是按照类型对结果进行过滤。
  • first操作符
    first操作符是把源Observable产生的结果的第一个提交给订阅者,first操作符可以使用elementAt(0)和take(0)代替。
  • single操作符
    single操作符是对源Observable的结果进行判断,如果产生的结果满足指定的条件的数量不为1,则抛出异常,否则把满足条件的结果提交给订阅者。
  • last操作符号 同first
  • ignoreElements操作符
    ignoreElements操作符忽略所有源Observable产生的结果,只把Observable的onCompleted和OnError事件通知给订阅着。ignoreElements操作符适用于不太关心Observable产生的结果,只是在Observable结束或者出现异常时接收到通知。
  • sample操作符
    sample操作符定期扫描源Observable产生的结果,在指定的时间间隔范围内对源Observable产生的结果进行采样。
  • skip操作符
    skip操作符针对源Observable产生的结果,跳过前面n个不进行处理,而把后面的结果提交给订阅者处理。
  • skipLast操作符
    skipLast操作符针对源Observable产生的结果,忽略Observable最后产生的n个结果,而把前面的结果提交给订阅者处理。
  • take操作符
    take操作符是把源Observable产生的结果,提取前面的n个给订阅者处理。
0 0
原创粉丝点击