什么是 rxjs
一组可以用来处理非同步或事件的 js 函数库
非同步
- ajax/XHR/fetch
- Service Worker/ Node Stream
- setTimeout /setInterval
- Promise
事件
- DOM 事件 click dbclick keyup
- CSS 动画事件
- HTML5 Geolocation /websockets/server send event
Observable 可观察的物件
代表一组未来即将产生的事件资料
Observer 观察者物件
代表一个用来接收观察结果的物件
观察者物件包含 3 个含有回调函数的属性 next error complete
Subscription 订阅物件
代表正在执行 Observable/Observer 的执行个体 可用来取消订阅
Operators 运算子
必须拥有函数编程所定义的纯函数特性
主要用来处理一系列的事件资料合集
常见的运算子包含 map,filter,concat,flatMap,switchMap
Subject 主题物件
如同 EventEmitter 一样,主要用来广播收到的事件资料给多为 Observer (观察者)
schedulers 排程调度器
用来集中管理与调度多重事件之间的资料,一控制事件并发情况