Observable
- Observable 像是没有参数, 但可以泛化为多个值的函数,体现了Observables是惰性的,在订阅(subscribe)时才会输出值,并且每一次订阅都会重新输出。
- Observable 并不代表数据生成一定是异步的,也可能是同步的,在于你如何去生成值
- 当你订阅了 Observable,你会得到一个 Subscription ,它表示正在进行中的订阅。调用 unsubscribe 方法就可以取消订阅执行。
Observer(观察者)
- 观察者只是有三个回调函数的对象,每个回调函数对应一种 Observable 发送的通知类型:next、error 和 complete。
- 可以在使用观察者时只传入一个方法,代表next通知类型,error和complete会有默认实现(类似promise的then方法)
Subscription(订阅)
- 通常是Observable.subscribe的返回值。
- Subscription 基本上只有一个 unsubscribe 函数,这个函数用来取消 Observable 的订阅。
Subject(主体)
- Subject 像是 Observable,但是可以多播给多个Observer。Subject 还像是 EventEmitters,维护着多个监听器的注册表。
Operators(操作符)
- 操作符是函数,它基于当前的 Observable 创建一个新的 Observable。这是一个无副作用的操作:前面的 Observable 不会改变。
Scheduler (调度器)
- 调度器可以让你控制 Observable 如何去发送通知给它的Observer(比如异步、同步)。