JSFiddle - React, Tailwind, and code Playground
JavaScript
function debounce(func, args, time) {
var timeout;
var obj = this;
function applyArgs () {
console.log('APPLY args to original func!');
func.apply(obj, args);
};
return function debounced () {
if(timeout){
clearTimeout(timeout);
}
timeout = setTimeout(applyArgs, time || 100);
};
}
console.log('make doItAfter3SecondsOfInactivity');
doItAfter3SecondsOfInactivity = debounce(
function(){
// our humble function
console.log('_______________________________________');
console.log('hey hey, ho ho, debounce has got to go');
console.log(arguments);
console.log('_______________________________________');
},
['arg1Hey!', 'arg2HeyHey!'],
3000
);
//setInterval(doItAfter3SecondsOfInactivity, 1000);
doItAfter3SecondsOfInactivity();