03. Асинхронность в JS – Григорий Бизюкин
🧩 Debounce и Throttle в JavaScript: один сниппет — две техники
🧩 Debounce и Throttle в JavaScript: один сниппет — две техники Когда ты ловишь события вроде scroll, resize, input, важно не перегружать браузер. Для этого существуют две техники: debounce (отложить выполнение) и throttle (ограничить частоту вызовов). Ниже — универсальная функция, которая умеет и то, и другое: function throttleDebounce(fn, delay, mode = 'throttle') { let lastCall = 0; let timeout; return function (...args) { const now = Date.now(); if (mode === 'debounce') { clearTimeout(timeout); timeout = setTimeout(() => fn...
Что такое Throttling и Debouncing?
Источник: Nuances of Programming Throttling и debouncing — это широко используемые техники для увеличения производительности кода, который выполняется повторно с некоторой периодичностью. Давайте разберёмся, как лучше их применять, чтобы ускорить работу ваших приложений. Что это вообще такое? Троттлинг функции означает, что функция вызывается не более одного раза в указанный период времени (например, раз в 10 секунд). Другими словами ― троттлинг предотвращает запуск функции, если она уже запускалась недавно...