Skip to content

EuJinnLucaShow/debounce-on-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

debounce-on-js

Концепція debounce в JavaScript полягає в тому, щоб обмежити кількість викликів функції, які відбуваються протягом короткого проміжку часу. Це може бути корисно, наприклад, при реалізації функції, яка відповідає за реагування на події, такі як переміщення миші або введення тексту, і виконується багато разів на секунду.

Ця функція приймає два аргументи: функцію, яку треба обмежити, та затримку (у мілісекундах) між викликами. Вона повертає нову функцію, яка може бути викликана з тими ж аргументами, що і оригінальна функція. Коли ця нова функція викликається, вона встановлює таймер, що очікує протягом затримки. Якщо в цей час функція викликається знову, то попередній таймер видаляється, і функція встановлюється знову, починаючи з початку.

Отже, коли викликається функція debounce, вона повертає функцію, яка буде викликатися з затримкою. Наприклад, якщо ви хочете обмежити кількість викликів функції handleMouseMove, яка реагує на подію переміщення миші, ви можете написати наступне:

const debouncedHandleMouseMove = debounce(handleMouseMove, 250);

Тепер ви можете використовувати debouncedHandleMouseMove замість handleMouseMove, і це забезпечить, що функція буде викликана не частіше, ніж раз на кожні 250 мілісекунд.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published