RxJS Observable——理解观察者模式

版权声明:@copyright by taorui https://blog.csdn.net/weixin_42541498/article/details/81297801

Observable——理解观察者模式

观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。——《ECMAScript 6 入门

一 理解三个概念

js对象是属性和函数的集合

  1. observable(可观察对象):由Rx.Observable.create 或创建操作符创建的的对象
  2. observer(观察者对象):一个回调函数的集合
  3. subscribe(订阅):可以理解为一个订阅事件,当订阅事件发生时,observer(观察者对象)会根据observable(可观察对象)里对observer对象的回调函数的调用来执行函数

 二 创建observable(可观察对象)

var observable = Rx.Observable.create(function subscribe(observer) {
  observer.next(1);
  observer.next(2);
  observer.next(3);
  observer.complete();
});

Rx.Observable.create()参数是一个subscribe函数,subscribe函数的参数是一个observer(观察者对象)。subscribe函数里调用observer对象的next()函数。

三 创建 observer(观察者对象)

var observer = {
    next: (x) => {console.log(x)},
    err: (err) => {console.log(err)},
    complete: () => {console.log("complete")}
}

四 observer(观察者对象)订阅observable(可观察者对象)

observable.subscribe(observer);

 执行结果:

>1
>2
>3
>complete

猜你喜欢

转载自blog.csdn.net/weixin_42541498/article/details/81297801