!Debounce
export const debounce = (func, ms) => {
let timeoutId;
const context = this;
const result = (...args) => {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => func.apply(context, args), ms);
};
result.cancel = () => clearTimeout(timeoutId);
return result;
};INFO