RXJS - merge, map and scan etc

by Suman Kumar

HTML

<div class="container">
  <button id="increment" value="1">+</button>
  <button id="decrement" value="-1">-</button>
  <p id="output"></p>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.2/Rx.min.js"></script>

JavaScript

const output = document.querySelector('#output');
const incButton = document.querySelector('#increment');
const decButton = document.querySelector('#decrement');

const inc$ = Rx.Observable.fromEvent(incButton, 'click');
const dec$ = Rx.Observable.fromEvent(decButton, 'click');

/*Rx.Observable.merge(inc$, dec$)
.map(event => parseInt(event.target.value))
.scan((accumulator, val) => accumulator+val, 0)
.subscribe(val => output.innerHTML = val);*/

inc$.mergeMap(i => dec$)
.subscribe(val => {
	console.log(val);
	output.innerHTML = val;
});