NodeJS Program to Debounce Function with Explanation
NodeJS
Medium
Async & Event Loop
29 views
1 min read
82 words
This problem helps you practice core NodeJS fundamentals in a practical way. It builds intuition around call, debounce, function. Let’s break it down step by step so you can implement it confidently.
Problem Statement
Build a debounce(fn, ms) and show it only calls once.
Input Format
No input.
Output Format
Print integer calls.
Constraints
Call debounced function many times quickly.
Code Solution
This explanation is written for learning purposes and to help beginners understand the concept clearly.
function debounce(fn, ms) {
let id;
return (...args) => {
clearTimeout(id);
id = setTimeout(() => fn(...args), ms);
};
}
let calls = 0;
const d = debounce(() => { calls += 1; console.log(calls); }, 30);
d();
d();
d();
Output Example
No sample I/O is provided for this question.
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Solution Guide
Problem
Build a debounce(fn, ms) and show it only calls once.
Input / Output
Output
Print integer calls.
Constraints
Call debounced function many times quickly.
Details
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Official Solution
function debounce(fn, ms) {
let id;
return (...args) => {
clearTimeout(id);
id = setTimeout(() => fn(...args), ms);
};
}
let calls = 0;
const d = debounce(() => { calls += 1; console.log(calls); }, 30);
d();
d();
d();
Solutions (0)
No solutions submitted yet. Be the first!