现有的主题正在使用中:
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');