RxJS简介
RxJS 是基于观察者模式和迭代器模式以函数式编程思维来实现的。简单来讲RxJS的运行就是基于Observable和Observer之间的数据生产和消费的互动过程。因此,理解RxJs,首先要对Observable和Observer有深入的理解。顾名思义,Observable就是可被观察者
,Observer就是观察者
,两者通过Observable上的sunscribe方法作为桥梁将两者联系起来。
RxJS的数据流就是Observable对象,其实现了观察者模式(Observer Pattern)和迭代器模式(Iterator Pattern)这两种设计模式。
观察者模式
Observer Pattern 定义
观察者模式是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实时事件处理系统。----维基百科
当对象之间存在一对多的关系,就可以使用观察者模式,比如当一个对象更新时通知并更新到给多个对象。其中发布通知的是发布者,接收通知执行更新的是观察者。观察者模式属于行为模式。在RxJS中,Observable就是发布者,Observer几件事观察者,二者通过订阅subscribe进行关联。
source$就是一个Observable对象,是发布者,它产生的连续数据通知给console.log这个观察者。
import {
of } from 'rxjs';
const source$ = of(1, [2