Day 34 setTimeout & setInterval
setTimeout ek baar delay ke baad code chalata hai. setInterval baar baar chalata hai. Dono timing-based programming ke liye zaroori hain.
setTimeout & clearTimeout
Delay ke baad code chalao, aur zaroorat par cancel karo.
// Ek baar delay ke baad
let timerId = setTimeout(() => {
console.log("3 seconds baad!");
}, 3000);
// Cancel karo (before it fires)
clearTimeout(timerId);
// Practical: debounce
function debounce(fn, delay) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
}
const search = debounce((query) => {
console.log("Searching:", query);
}, 500);
setInterval & clearInterval
Baar baar ek kaam karo — clock, countdown, polling.
// Digital clock
function startClock() {
const display = document.getElementById("clock");
let id = setInterval(() => {
display.textContent = new Date().toLocaleTimeString();
}, 1000);
return () => clearInterval(id); // return stop function
}
const stopClock = startClock();
// Countdown
let seconds = 10;
let countdown = setInterval(() => {
console.log(seconds--);
if (seconds < 0) {
clearInterval(countdown);
console.log("🎉 Time's up!");
}
}, 1000);
🎯 Practice Challenge
Pomodoro timer banao: 25 min kaam, 5 min break. setInterval se countdown dikhao, alert karo jab time ho.