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 после последнего вызова