JSFiddle - React, Tailwind, and code Playground
by Julien Etienne
JavaScript
function debounce(callback, delay) {
return function(parameters) {
let onceTimestamp;
let time;
let once = true;
let id;
let count = 0;
let count2 = 0
let allowed = 0;
function loop(timestamp) {
time = timestamp;
if (once || timestamp > (onceTimestamp + delay) && count < 2) {
callback(parameters)
}
once = false;
onceTimestamp = timestamp;
}
id = requestAnimationFrame(loop)
}
requestAnimationFrame(loop);
}
function hello(e) {
console.log('hello ' + e);
}
const debounceFunc = debounce(hello, 500);
window.addEventListener('click', debounceFunc)