版权声明:@copyright by taorui https://blog.csdn.net/weixin_42541498/article/details/81297801
Observable——理解观察者模式
观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。——《ECMAScript 6 入门》
一 理解三个概念
js对象是属性和函数的集合
- observable(可观察对象):由
Rx.Observable.create
或创建操作符创建的的对象 - observer(观察者对象):一个回调函数的集合
- 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