操作符是函数。有两种操作符:
- 可联入管道的操作符
使用语法observableInstance.pipe(operator())
联入 Observables 管道
调用时,不更改现有的 Observable 实例,返回一个新的 Observable。
e.g. 包括 filter(…) 和 mergeMap(…) …
可联入管道的操作符本质上是一个纯函数,它将一个 Observable 作为输入并生成另一个 Observable 作为输出。
订阅此输出Observable 也会同时订阅其输入 Observable。
- 创建操作符
作为独立函数调用以创建新的 Observable
e.g. of(1, 2, 3) 创建一个 observable,它将一个接一个地发出 1、2 和 3。
一、管道
可联入管道的操作符都是函数,因此可以像普通函数一样使用: op()(obs)
但往往会纠缠在一起,变得不可读。
pipe()
让其变得可读:obs.pipe(op())
作为一种风格,即使只有一个操作符,也从不使用 op()(obs);obs.pipe(op()) 是普遍的首选项。
二、创建操作符
创建操作符是一种函数:根据一些常见预定义行为或联合其它 Observable 来创建一个 Observable。
e.g. interval 函数——将一个数字(