Store the return value (a timer ID) and pass it to clearTimeout(id). This cancels the pending timer and the callback will not run.
setTimeout Interview Questions in JavaScript
How do you cancel a setTimeout in JavaScript?
The answer
More FAQs in setTimeout Interview Questions in JavaScript
1, 3, 2. The timer callback goes to the macrotask queue and runs after the synchronous code finishes.
Because promise callbacks go to the microtask queue, which the event loop drains completely before touching the macrotask queue where setTimeout callbacks live.
3, 3, 3. var is function-scoped; all callbacks share one i, which is 3 by the time they run. Use let to fix this (logs 0, 1, 2).
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.