RXJS学习(一)简介
RXJS = Reactive Extensions Of Javascript(Javascript的响应式扩展)
会涉及到函数式编程 和 响应式编程。
讲述的是RXJS 6.x版本
基本概念
RxJS提供了一个核心类型 Observable,附属类型 (Observer、 Schedulers、 Subjects) 和操作符 (map、filter、take 等等),这些数组操作符可以把异步事件作为集合来处理。
Observable (可观察对象): 表示一个概念,这个概念是一个可调用的未来值或事件的集合。
Operators (操作符): 采用函数式编程风格的纯函数 (pure function),使用像 map、filter、concat、flatMap 等这样的操作符来处理集合。
Observer (观察者): 一个回调函数的集合,它知道如何去监听由 Observable 提供的值。
Subject (主体): 相当于 EventEmitter,并且是将值或事件多路推送给多个 Observer 的唯一方式。
Schedulers (调度器): 用来控制并发并且是中央集权的调度员,允许我们在发生计算时进行协调,例如 setTimeout 或 requestAnimationFrame 或其他。
在Vue中使用RxJs,推荐使用官方库vue-rx
在React中,使用起来随意很多,毕竟React容易扩展。
解决的问题
同步和异步的统一
可组合的数据变更过程
数据和视图的精确绑定
条件变更之后的自动重新计算
Last updated