Double Integer Observable
by gladtocode
HTML
<body>
Values:
</body>
JavaScript
const print = (value) => {
const paragraph = document.createElement('p');
paragraph.innerHTML = value;
document.body.appendChild(paragraph);
}
const integerObservable = (observer) => {
let x = 0;
setInterval(
() => {
x = x + 1;
observer(x);
},
500
);
};
const doubleOperator = (originalObservable) => {
const newObservable = function(observer) {
// observe the original observable, and whenever it emits a value, double it and emit it to our own observer:
originalObservable((originalValue) => {
observer(originalValue * 2);
});
}
return newObservable;
}
const doubleIntegerObservable = doubleOperator(integerObservable);
doubleIntegerObservable(print);