Sobes.tech
Middle

//Υλοποιήστε μια λειτουργία debounce: καθυστερήστε την εκτέλεση μιας λειτουργίας μέχρι να περάσει ο καθορισμένος χρόνος //παράδειγμα const debouncedSearch = debounce((query) => { console.log('Αναζήτηση για:', query); }, 300); debouncedSearch('a'); debouncedSearch('ab'); debouncedSearch('abc'); // Θα εκτελεστεί μόνο μία φορά με 'abc' μετά από 300ms από την τελευταία κλήση

sobes.tech AI

Απάντηση από AI

javascript function debounce(func, delay) { let timeoutId; return function(...args) { clearTimeout(timeoutId); timeoutId = setTimeout(() => { func.apply(this, args); }, delay); }; }

// Пример использования: const debouncedSearch = debounce((query) => { console.log('Searching for:', query); }, 300);

debouncedSearch('a'); debouncedSearch('ab'); debouncedSearch('abc'); // Вызов произойдет только один раз с 'abc' через 300ms после последнего вызова