RxCPP(三)Operators

操作符是一个作用于一个可观测对象的函数,它产生一个新的可观测对象。在此过程中,原始的可观测值没有发生突变,而是一个纯函数。操作符不改变可观察对象的事实是rx编程模型中声明式调度工作的原因之一。Rx运算符可以分为以下几类:

  • 创建运算符
  • 转换运算符
  • 过滤运算符
  • 组合运算符
  • 错误处理运算符
  • 实用运算符
  • 布尔运算符
  • 数学运算符
    有一些可用的操作符不属于这些类别。我们将在一个表中列出前面类别中的一些关键操作符,以供快速参考

创建型操作符

这些操作符将帮助您从输入数据创建各种可观察的对象。请参考rxcpp文档以了解更多关于它们的信息。包含以下一些运算符的表:

操作符 描述
create 通过编程调用Observer方法创建一个可观察对象
defer 直到有观察者订阅时才创建Observable,并且为每个观察者创建一个新的Observable
empty 创建一个不发射任何数据但是正常终止的Observable
from 将其它种类的对象和数据类型转换为Observable
interval 创建一个按固定时间间隔发射整数序列的Observable
just 创建一个发出单个值的可观察对象
range 创建一个发射特定整数序列的Observable
never 创建一个不发射数据也不终止的Observable
repeat 创建一个发射特定数据重复多次的Observable
timer 创建一个Observable,它在一个给定的延迟后发射一个特殊的值。
throw 创建一个不发射数据以一个错误终止的Observable

转换运算符

这些操作符帮助创建一个新的可观察对象而不修改源可观察对象。它们作用于源中可观察到的单个项,方法是对它们应用lambda。

操作符 描述
buffer 定期收集Observable的数据放进一个数据包裹,然后发射这些数据包裹,而不是一次发射一个值。
flat_map 将一个发射数据的Observable变换为多个Observables,然后将它们发射的数据合并后放进一个单独的Observable
group_by Observable that helps to group values from an Observable
map Observable that emits the items from the source Observable, transformed by the specified function
scan Observable that emits the results of each call to the accumulator function
window Observable that emits connected, non-overlapping windows, each containing, at most, count items from the source Observable

你可能感兴趣的:(RxCPP(三)Operators)