根据 官方scheduler文档:
- 调度器是一种数据结构。它可以依据优先级和其它一些配置知道如何来存储队列任务(queue tasks)
- 调度器可以充当执行环境。这表示任务什么时候什么地方执行,是立即执行,还是在回调函数中执行(使用setTimeout, setInterval, 或者 animation frame)
- 调度器拥有一个虚拟时钟。它通过getter方法 now() 提供了time的概念。任务会根据调度安排,在特定的时间执行。
- setTimeout
- setInterval
- setImmediate
- I/O
- UI rendering
- process.nextTick
- Promise
- MutationObserver
- Static creation operators & Instance operators
- subscribeOn
- observeOn
- longpress
- drag
- redux: redux-observable
- hook: observable-hooks
同步: 数据+函数 异步: 数据+函数+时序
适用时序密集的应用,那么rxjs能帮你处理复杂的异步逻辑,相反,如果异步之间没有太多的联系,时序简单,则不那么需要使用rxjs。
- 统一不同数据源的能力: http/websocket/user actions
- 统一不同类型的能力: 异步和同步数据统一操作
- 丰富的数据加工能力: 各种丰富的operator