Middle
функсияи debounce(callback, delay) {}
sobes.tech AI
Ҷавоб аз AI
Функсияи debounce имкон медиҳад, ки такрори даъвати функсияи callback-ро маҳдуд кунад. Он иҷрои callback-ро ба таъхир меандозад, то даме, ки мӯҳлати муайяншудаи delay бидуни даъватҳои нав гузашта бошад. Ин барои мисол, дар коркарди ҳодисаҳои воридот ё ҳаракат кардан, ки функсияро хеле зуд даъват накунанд, муфид аст.
Маслиҳат барои иҷро дар JavaScript:
function debounce(callback, delay) {
let timerId;
return function(...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
callback.apply(this, args);
}, delay);
}
// Истифода:
const debouncedFunc = debounce(() => console.log('Даъват!'), 300);
window.addEventListener('resize', debouncedFunc);
Дар ин мисол, callback танҳо пас аз он, ки ҳодисаи resize барои 300 мс қатъ шавад, даъват мешавад.