How do you test a debounce function in JavaScript?
Use jest.useFakeTimers() to control time. Call the debounced function multiple times, advance the timer by the delay, and verify only the last call's callback executed.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Debounce Interview Questions (Flipkart)
function debounce(fn, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; }
Debounce delays execution until activity stops (search input, only the last call runs). Throttle limits to once per interval (scroll handler, calls at most once per N ms).
Attach a cancel property: debounced.cancel = () => clearTimeout(timer). Call debounced.cancel() to cancel the pending execution.
Still have questions?
Browse all our FAQs or reach out to our support team
