RxJS concat

by Leo

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.0.7/rx.all.js"></script>
<button id="click-me1">AAAA</button>
<button id="click-me2">BBBB</button>

JavaScript

var source1 = new Rx.Subject(); //Rx.Observable.from([42,43]); 
var source2 = new Rx.Subject(); //Rx.Observable.from([56, 67, 68, 69]) 

const btn1 = document.querySelector('#click-me1') 
const btn2 = document.querySelector('#click-me2') 
const clicks1$ = Rx.Observable.fromEvent(btn1, 'click')
const clicks2$ = Rx.Observable.fromEvent(btn2, 'click')

let k1 = 0;
let k2 = 100;
clicks1$.forEach(()=>{
  source1.onNext(k1++); 
  if(k1 == 3)
    {
      source1.onCompleted();
    }
})
clicks2$.forEach(()=>{
  source2.onNext(k2++); 
})


var source = Rx.Observable.concat(source1, source2);

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + x);
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });