RxJS .zip and .switchLatest
HTML
<script src="https://rawgit.com/Reactive-Extensions/RxJS/master/dist/rx.all.js"></script>
<button id="message">message</button>
<textarea id='ta_message'></textarea>
<textarea id='ta_result'></textarea>
CSS
textarea {
font-family:"Courier New", monospace;
font-size: 12px;
width: 100%;
height: 120px;
}
JavaScript
let subjS = new Rx.ReplaySubject();
let stream1$ = subjS.map(x => x);
stream1$.subscribe(
(val) => { console.log("onNext first observer", val) },
(err) => { console.log("onError first observer", err) },
() => { console.log("onCompleted first observer") }
);
subjS.onNext("foo");
subjS.onNext("bar");
subjS.onCompleted();
subjS.onCompleted();
stream1$.subscribe(
(val) => { console.log("onNext second observer", val) },
(err) => { console.log("onError second observer", err) },
() => { console.log("onCompleted second observer") }
);
subjS.onNext("foo2");
subjS.onNext("bar2");
subjS.onCompleted();
subjS.onCompleted();