⏰ Timers = Delayed or Repeated Execution
Need to delay execution? Run repeatedly? setTimeout and setInterval handle timing. Animations, polling, delays.
📝 setTimeout (Delay)
// Execute after 2 seconds
setTimeout(() => {
console.log('2 seconds passed');
}, 2000);
// With parameters
setTimeout((name) => {
console.log(`Hello ${name}`);
}, 1000, 'Alice');
// Clear timeout
const timer = setTimeout(() => {
console.log('This will not run');
}, 5000);
clearTimeout(timer);
// Delay of 0 (run after current stack)
setTimeout(() => {
console.log('After');
}, 0);
console.log('Before'); // Before, After
🎯 setInterval (Repeat)
// Run every 2 seconds
const interval = setInterval(() => {
console.log('Every 2 seconds');
}, 2000);
// Stop after 5 times
let count = 0;
const id = setInterval(() => {
count++;
console.log(`Count: ${count}`);
if (count === 5) {
clearInterval(id);
console.log('Stopped');
}
}, 1000);
// Real-time clock
setInterval(() => {
document.getElementById('clock').textContent = new Date().toLocaleTimeString();
}, 1000);
💡 Use Cases
- Animations (setInterval for frame updates)
- Polling (check server every few seconds)
- Delayed actions (show notification after delay)
- Countdown timers
- Auto-save (save every 30 seconds)
“setTimeout and setInterval are essential for timers. Auto-save, polling, animations — all use timers.”
