Sobes.tech
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 мс қатъ шавад, даъват мешавад.