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');
});