前言
RxJS 两大概念 Observable 和 Subject. 上一篇介绍了 Observable 这篇继续接受 Subject.
参考
RxJS 建立 Observable 的基礎 - Observable / Subject / BehaviorSubject / ReplaySubject / AsyncSubject
介绍
Subject 是典型的观察者模式, 它不是 Observable 那样参杂了 Generator Function 概念, 所以比较容易理解.
当我们说 Subject extends Observable 时, 指的是它可以被订阅. 而不是它拥有所有 Observable 的特性哦.
和 Observable 不同的地方
第一个不同是它们发布的方式.
Observable 的发布逻辑是在初始化方法里面通过 subscriber.next 发布的.
Subject 没有初始化方法. 它这个对象自带 .next 方法来实现发布
第二个不同是 multiple subscribe
Observable multiple subscribe 会参数多条独立的 stream.
Subjust multiple subscribe 则不会产生多条 stream. 每次 subscurbe 它只是把 callback 函数存起来, 发布时挨个调用而已 (典型的观察者模式实现)
标签:Observable,multiple,系类,subscribe,发布,RxJS,Subject From: https://www.cnblogs.com/keatkeat/p/16747067.html