There is existing subject that is in use:
const fooSubject = new BehaviorSubject(null);
And there is another observable (another subject in this example):
const barSubject = new Subject(); barSubject.subscribe( value => fooSubject.next(), err => fooSubject.error(err), () => fooSubject.complete() ); barSubject.next('bar');
The code works but looks clumsy.
Is there a better way to pipe (in broad sense, not necessarily using pipe
operator) barSubject
observable to fooSubject
? It looks like an operation that could be handled by the library itself.
Async pipelinkThe AsyncPipe subscribes to an observable or promise and returns the latest value it has emitted.
A Pipeable Operator is a function that takes an Observable as its input and returns another Observable.
Observable can inform only one observer, while Subject can inform multiple observers. for each subscription observable output is diffrent but if you are expecting same output for in diffrent observer recommended to use Subject!
Since Subject is already an observer with methods next()
, error()
and complete()
you can just subscribe it to any Observable:
const fooSubject = new BehaviorSubject(null); const barSubject = new Subject(); barSubject.subscribe(fooSubject); barSubject.next('bar');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With