源自观察者-发布者设计模式:
观察者注册于 Subject 上,每当 subject 状态发生变化时,通知观察者。
RxJs 里的 Observable 就是 Subject:
管道:连接 Observable 的同时,增添额外的逻辑:
冷热 Observable 的区别:
Cold Observable,仅当被订阅时,才通过内部生产者生产数据
Hot Observable,具有外部生产者,不管被订阅与否,都能够自主生产数据,比如基于 HTML Event listener 的 Observable,基于 HTTP GET 的 Observable 等等。
subscription
Observable 内部维护了一个指针,指向 subscriber,用于在需要的时候,unsubscribe Observers.
RxJs 里的 Observable 是单播,而 Subject 是多播。
更多Jerry的原创文章,尽在:"汪子熙":
网友评论