debounce = function (fn, t) {
    let timeoutHandle;
    return function (...args) {
        clearTimeout(timeoutHandle);
        timeoutHandle = setTimeout(() => fn(...args), t);
    }
}
@param {Function} fn
@param {number} t milliseconds
@return {Function}