Skip to solution
mediumFrontend

Implement debounce() with leading/trailing and cancel/flush

553 views
01

Understand the problem

Create debounce(func, wait, {leading, trailing}) that delays invoking func until after wait ms since last call. Support cancel and flush.

debouncetimersclosure
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Nudge consolestandby

Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.

03

Study the solution

Approach: Closure holds timer + last args. On call, clear previous timer and schedule new. Leading fires immediately if not already waiting; trailing fires after quiet period. cancel clears timer, flush invokes pending immediately.

function debounce(func, wait, { leading = false, trailing = true 

Solution ready — 2 min read

Classified // press E to declassify

04

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.

Transmission complete // awaiting log

KEEP THE
STREAK ALIVE.

Dossier 138 of 190 decoded in the JavaScript Coding track. One more won't hurt.

Back to track