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 ms.