console
let demo = document.getElementById('console');
function output(str) {
if (arguments[0] === false) {
demo.innerHTML = '';
return;
}
demo.innerHTML += str + '<br/>';
};
function start() {
output(false);
output('Starting...');
var sourceOne = new Rx.Subject();
var sourceTwo = new Rx.Subject();
var sourceThree = new Rx.Subject();
sourceOne.subscribe(s => {
console.log('one is: ', s);
output(s);
});
sourceTwo.subscribe(s => {
console.log('two is: ', s);
output(s);
});
sourceThree.subscribe(s => {
console.log('three is: ', s);
output(s);
});
const example = sourceOne.concat(sourceTwo).concat(sourceThree).take(3);
example.subscribe({
complete: () => {
console.count('completed!!');
output('Completed!!');
}
});
const source = Rx.Observable.interval(1000);
let take = source.take(3);
const subscribe = take.subscribe(val => {
console.log('interval:', val);
if(val === 0) {
sourceOne.next('First');
sourceOne.complete();
} else if(val === 1) {
sourceTwo.next('Second');
sourceTwo.complete();
} else if(val === 2) {
sourceThree.next('Third');
sourceThree.complete();
}
});
}
<div class="demo">
<button type="button" onclick="start()">Start</button>
<div id="console"></div>
</div>
.demo {
margin: 0;
padding: 10px;
}
button {
padding: 10px 15px;
cursor: pointer;
}
#console {
margin: 5px 0;
padding: 5px;
border: 1px solid #ccc;
background: #000;
color: #00ff00;
min-height: 200px;
}