跳转至

介绍

具体语言实现ReactiveX时,都会相应的实现一套运算符,虽然不同实现之间会有重复的部分,但也有各个独特的地方,但它们的命名方式还是尽量以人们比较熟悉的方式进行的。

链式运算

大部分运算都是在可观察对象上进行,并且返回值也是可观察对象,这就使运算的串连执行成为可能,即链式。在链式运算中,每一个运算都是在前一个运算处理过的可观察对象上进行的。

设计模式中有一种建造者模式,一个类包含有多个方法可以对这个类的对象进行修改,所以它也支持链式操作。但是建造者模式中,各种方法对这个类对象的修改与运算的顺序无关,但对于可观察对象的运算来说,运算的顺序是很重要的。

可观察对象的链式操作不是独立的应用于原始可观察对象的,而是按顺序轮流作用在可观察对象上的。

ReactiveX的运算符

本文首先列出了ReactiveX的核心运算和相关的链接页,以方便更加深入的了解这些核心运算及其在具体语言中的实现方式。

之后是一个决策树,帮助你在具体应用场景中选择需要使用的运算

最后,以字母顺序列出大部分在具体语言实现中使用的运算符, 这些运算符的链接指向ReactiveX中对应的核心运算页面。例如:Rx.NET中的SelectMany链接指向ReactiveX中的核心运算FlatMap`。

如果你要自己实现运算符,可以参考这篇文章

运算符分类

可观察对象运算符决策树

可观察对象运算符字母排序表