先来了解几个新名词:
- Observable : 可观察对象,是一组值或事件的集合
- Observer : 观察者,回调函数集合
- Subscription :Observable动作执行者
- Operators : 操作符(纯函数)
- Subject :相当于EventEmitter
- Scheduers :调度器, 控制并发行为
这里解释一下什么叫作实例方式和类方法。首先,如果是通过new 操作符号产生的对象去调用的方法就是实例方法,如果是直接使用类名调用的方法就是类方法(如:Observable.create...)。
常用的实例方法
pip :功能类似于 let 操作符
map :转换输出的数据
pluck :提取属性值并输出
do :不做数据格式化,可用于调试
filter :用于过滤一些Observable
take :表示取几条数据
takeWhile :满足什么条件时开始取数据
skip :表示跳过多少条数据后开始取
distinctUntilChanged :比较输入的Observable计算得出的值当前与后最后的值是否相等使用,===,判断
scan :功能有点类似于Array#reduce这个方法,可用于累加数据同时可以使用startWith的数据用途scan的初始值,最后返回累加的数据
delay :表示Observable延时多久开始处理订阅数据
toArray :把输出值格式化成数据形式
toMap :给当前的输出取个名字或标签
expand :实现递归
forkJoin :类似于Promise.all,只有数据全部返回且状态为complete时,表示成功处理了请求,否则失败
let :这个操作符可以获取完整的输入Observable对象,做相应的处理后返回新的Observable对象
catch :用于Observable处理数据异常的处理
combineLatest :用于组且各个输入的Observable,并获取和返回各个Observable最新的数据
merge :用于把两个Observable合成一个处理