JSFiddle - React, Tailwind, and code Playground

by albertjan

JavaScript

function setDeceleratingTimeout(callback, factor, times) {
    var internalCallback = function(t, counter) {
        return function() {
            if (t-- > 0) {
                window.setTimeout(internalCallback, ++counter * factor);
                callback();
            }
        }
    }(times, 0);

    window.setTimeout(internalCallback, factor);
}
setDeceleratingTimeout(function() {
    console.log('hi');
}, 10, 10);