Day 34

setTimeout & setInterval

10 min
JavaScript 100 Days

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.

timeout.js
javascript
// 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.

interval.js
javascript
// 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.