web-dev-qa-db-ja.com

既存のサブジェクトに監視可能なパイプRxJS

使用中の既存の件名があります:

const fooSubject = new BehaviorSubject(null);

そして、別のオブザーバブル(この例では別の主題)があります。

const barSubject = new Subject();
barSubject.subscribe(
  value => fooSubject.next(),
  err => fooSubject.error(err),
  () => fooSubject.complete()
);

barSubject.next('bar');

コードは機能しますが、不格好に見えます。

パイプするためのより良い方法はありますか(広義では、必ずしもpipe演算子を使用する必要はありません)barSubjectオブザーバブルをfooSubjectに監視できますか?ライブラリ自体で処理できる操作のように見えます。

17
Estus Flask

Subjectはすでにメソッドnext()error()、およびcomplete()のオブザーバーであるため、任意のObservableにサブスクライブすることができます。

const fooSubject = new BehaviorSubject(null);

const barSubject = new Subject();
barSubject.subscribe(fooSubject);

barSubject.next('bar');
23
martin