JSFiddle - React, Tailwind, and code Playground

CSS

div {}

JavaScript

function debounce(fn, delay) {
    var block, self = this;
    return function() {
        if (block) return;
        block = true;
        block = setTimeout(function() {
            block = false;
        });
        fn.apply(this, arguments);
    }
}

var fn = debounce(function(nr) {
    console.log(nr);
});

function testador() {
    for (var i = 0; i < 100; i++) {
        fn(i);
    }
	console.log('loop completo', i);
}


setInterval(testador, 3000);