现有主题正在使用中:
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
?它看起来像是一个可以由库本身处理的操作。
答案 0 :(得分:18)
由于Subject已经是方法next()
,error()
和complete()
的观察者,您可以将其订阅到任何Observable:
const fooSubject = new BehaviorSubject(null);
const barSubject = new Subject();
barSubject.subscribe(fooSubject);
barSubject.next('bar');