jvcgpt / src /utils /misc.ts
Greums's picture
major improvements to the app
a417977
raw
history blame
906 Bytes
// export function throttle(callback: () => void, wait: number): () => void {
// if (typeof function_ !== 'function') {
// throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof function_}\`.`);
// }
//
// let timeoutId;
// let lastCallTime = 0;
//
// return function throttled(...arguments_) {
// clearTimeout(timeoutId);
//
// const now = Date.now();
// const timeSinceLastCall = now - lastCallTime;
// const delayForNextCall = wait - timeSinceLastCall;
//
// if (delayForNextCall <= 0) {
// lastCallTime = now;
// function_.apply(this, arguments_);
// } else {
// timeoutId = setTimeout(() => {
// lastCallTime = Date.now();
// function_.apply(this, arguments_);
// }, delayForNextCall);
// }
// };
// }