flatMap - race
RxJS 5 switchMap
by Leo
HTML
<script src="https://npmcdn.com/@reactivex/[email protected]/dist/global/Rx.umd.js"></script>
JavaScript
//does not work
const source = Rx.Observable.fromEvent(document, 'click');
const example = source
.mergeMap(val => Rx.Observable.race(source.do(()=>console.log("!!!! 1"))).interval(3000).mapTo('click in 3s!'));
const subscribe = example.subscribe(val => console.log(val));
const source2 = Rx.Observable.fromEvent(document, 'keydown');
const example2 = source2
//.switchMap(val => Rx.Observable.interval(3000).throwError('key in 3s').finally(()=>console.log("!!!! 2")));
.mergeMap(val => Rx.Observable.throw('key in 3s').materialize().delay(3000).dematerialize().race(source2.do(()=>console.log("!!!! 2"))));
const subscribe2 = example2.subscribe(val => console.log(val));