multicast
연산자(operator) 정의: multicast(selector: Function): Observable
Share source utilizing the provided Subject.
Examples
Example 1: multicast with standard Subject
( jsBin | jsFiddle )
const source = Rx.Observable.interval(2000).take(5);
const example = source
.do(() => console.log('Side Effect #1'))
.mapTo('Result!')
const multi = example.multicast(() => new Rx.Subject());
const subscriberOne = multi.subscribe(val => console.log(val));
const subscriberTwo = multi.subscribe(val => console.log(val));
multi.connect();
Example 2: multicast with ReplaySubject
( jsBin | jsFiddle )
const source = Rx.Observable.interval(2000).take(5);
const example = source
.do(() => console.log('Side Effect #2'))
.mapTo('Result Two!')
const multi = example.multicast(() => new Rx.ReplaySubject(5));
multi.connect();
setTimeout(() => {
const subscriber = multi
.subscribe(val => console.group(val));
}, 5000);
Additional Resources
Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/operator/multicast.ts