Что такое "debounce" и "throttle" и зачем они нужны?
Уровень: Middle
Ответ
Это техники оптимизации частоты вызова функций. **Debounce** (устранение дребезга) задерживает вызов функции до тех пор, пока события не перестанут происходить. Например, обработчик resize окна можно "дебаунсить", чтобы он запускался только после того, как пользователь закончит менять размер (например, спустя 300мс без новых событий). **Throttle** (дросселирование) ограничивает функцию: она будет вызываться не чаще, чем указанное время. Например, при событии scroll можно разрешить обработчику выполняться не чаще чем раз в 100мс. Оба приёма помогают снизить нагрузку, предотвращая слишком частый вызов дорогостоящих операций при «шумных» событиях.