初识Rxjs的基础概念

2019-07-06  本文已影响0人  励志摆脱懒癌的少女酱

1.Observable:可观察对象—一个值或事件的流集合;
(1) 创建:Rx.Observable.create()/of()/from()等;
(2)订阅:subscrible()—每次调用都会有一个新的观察者,数据不共享;相当于调用创建Observables的参数函数,并提供接收数据的回调函数;
(3)执行:可观察者对象实例.next()/error()/complete()—相当于return;可以发送多个next通知,但若发送的是error/complete通知,则之后不会再发送任何通知了;
(4)清理:unsubscribe()


创建

(5)hot Observable vs cold Observable

3.Subscription:订阅—Observable的执行,当Observable变化时,调用observer提供的方法通知他;
(1)订阅Observable类似于函数调用;
(2)unsubscribe()清理Subscription占用的资源;

4.Subject:主体—同一个Observable可以被多个observer订阅,subject可以向多个observer多路推送数值;
(1)每个Subject即是Observable也是Observer;

(2)BehaviorSubject:保存发送给消费者的最新值(初始值是0),并且当有新的观察者订阅时,会立即接收到该最新值;

observerA:0, observerA:1, observerA:2, observerB:2, observerA:3, observerB:3

(3)ReplaySubject:记录Observable执行中的多个值并将其回放给订阅者

(4)AsyncSubject:等待Observable发出complete通知后,才发送最后一个单个值

observerA:5, observerB:5

(5)refCount():当observable有订阅后才会自动打开广播功能,当没有订阅后,会自动关闭;
(6)publish()

5.Operators:操作符—接收传入的Observable,返回新的Observable;


常见的操作符
操作符分类

6.Scheduler:调度器— 改变Observable对象吐数据的节奏;
(1)实例

[总结]Observable实例对象只是声明不执行,只有订阅subscribe是才执行其参数函数,若内部传出出来会调用subscribe的回调函数;

上一篇 下一篇

猜你喜欢

热点阅读