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 մս-անցած ժամանակ դադարեցվի։