setInterval in ES6 Class
by Guillaume Seguin
HTML
<div id="counter">0</div>
Babel + JSX
class CallFrenquently {
constructor(callback) {
this.intervalID = undefined;
this.callback = callback;
this.delay = 1000;
}
start() {
this.stop();
if (this.delay >= 0) {
this.intervalID = setInterval(this.callback, this.delay);
}
}
stop() {
clearInterval(this.intervalID);
}
}
const callback = () => {
let value = parseInt(document.getElementById('counter').innerHTML, 10);
document.getElementById('counter').innerHTML = value++;
};
const test = new CallFrenquently(callback);
test.start();