Subject とは
シンプルなObservableはユニキャストです。
ユニキャストは単一の相手を指定してストリームが送られます。
それに対して、SubjectはマルチキャストなObservableです。
マルチキャストは複数の相手に対してストリームが送られます。
サブジェクトは、
メソッドnext(v)、error(e)、complete()を持つオブジェクトです。
下記の例では、一つのSubjectに、3つのObserverが使われています。
const { Subject } = require('rxjs');
const subject = new Subject();
subject.subscribe(x=>console.log('observer1---'+x));
subject.subscribe(x=>console.log('observer2---'+x));
subject.subscribe(x=>console.log('observer3---'+x));
subject.next('test');
【結果】
observer1---test
observer2---test
observer3---test