Q21 [Coding]: Write a debounce function implementation.
function debounce(fn, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
Debouncing delays function execution until a specified idle duration has elapsed since the last event invocation.
Key Takeaways
- Resets timer on every new event trigger call.
- Ideal for search auto-complete inputs and window resize handlers.
Knowledge Check
When does a debounced function execute after rapid continuous triggers?