现有的主题正在使用中:

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?看起来像是库本身可以处理的操作。

最佳答案

由于Subject已经是使用next()error()complete()方法的观察者,因此您只需将其订阅到任何Observable即可:

const fooSubject = new BehaviorSubject(null);

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

barSubject.next('bar');

08-05 02:13