大多数Rx操作符具有以下格式:
IObservable<T> OperatorName(arguments)
图1.8 Rx操作符的可组合特性允许您封装通知从原始源发出后发生的事情。
请注意,返回类型是可观察的。这允许Rx运算符的可组合性质;您可以向observable管道添加操作符,每个操作符都会生成一个observable,它封装了从原始源发出通知时起应用于通知的行为。
另一个重要的结论是从观察者的角度来看,一个可观察的东西无论是否添加操作符,它仍然是一个可观察对象,如图1.8所示。
因为您不仅可以在创建可观察对象时,而且可以在订阅观察对象时向管道添加运算符,所以即使您无法访问创建可观察内容的代码,也可以控制可观察内容。
一幅图胜过千言万语。这就是为什么,在解释响应式编程时尤其是Rx,显示可观察对象的执行管道是很重要的序列。在这本书中,我使用弹珠图表来帮助您理解操作以及他们的关系。
弹珠图使用一个水平轴来表示可观察的序列。每一个可观察对象上携带的通知用一个符号标记,通常是一个圆圈(尽管有时会使用其他符号),以区分值。通知的值写在符号内部或作为符号上方的注释,如如图1.9所示。