JSFiddle - React, Tailwind, and code Playground
by Julian Garcia Castillo
JavaScript
var Timer = function(callback, delay) {
var timerId, start, remaining = delay;
this.pause = function() {
console.log('pau')
window.clearTimeout(timerId);
remaining -= Date.now() - start;
};
this.resume = function() {
console.log('re')
start = Date.now();
window.clearTimeout(timerId);
timerId = window.setTimeout(callback, remaining);
};
this.stop = ()=> {
window.clearTimeout(timerId);
};
this.resume();
};
var timer = new Timer(function() {
console.log("Done!");
timer.stop()
}, 6000);
//timer.pause();
// Do some stuff...
//timer.resume();
setTimeout(() => {
//console.log('paused')
//timer.pause();
}, 2000);
setTimeout(() => {
//console.log('resume')
//timer.resume();
}, 10000);