JavaScript Academy · पाठ

setTimeout, setInterval और टाइमर का खिसकाव

setTimeout/setInterval से एक बार और बार-बार चलने वाले कार्य निर्धारित करें तथा टाइमर के खिसकाव को कम करने की सरल तकनीक सीखें।

पाठ 1, कुल 3 में से8 चरण

setTimeout, setInterval और टाइमर का खिसकाव, CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

timer का परिचय

लक्ष्य: काम को व्यवस्थित ढंग से निर्धारित करना।

  • setTimeout: बाद में एक बार चलाएँ
  • setInterval: बार-बार चलाएँ
  • drift: timer अपने समय से क्यों खिसकते हैं
  • drift को ठीक करने का सरल तरीका
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 1

setTimeout — एक बार चलने वाला

setTimeout(fn, ms) विलंब के बाद एक बार चलता है (समय न्यूनतम होता है, सटीक नहीं)।

// setTimeout schedules a one-off callback
console.log("A: start");

setTimeout(function () {
  console.log("B: after ~5ms");
}, 5);

console.log("C: scheduled");
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 2

setInterval — दोहराव वाला

setInterval अपने-आप दोहराता है; रोकने के लिए clearInterval(id) का उपयोग करें।

// setInterval repeats; always clear it
let count = 0;

const id = setInterval(function () {
  count = count + 1;
  console.log("tick", count);

  // Stop after 3 ticks to avoid endless logs
  if (count >= 3) {
    clearInterval(id);
    console.log("stopped");
  }
}, 5);
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 3

drift को घटित होते देखें

वास्तविक अंतराल अलग-अलग होते हैं; काम, डिवाइस का भार और इवेंट लूप drift का कारण बनते हैं।

// Drift demo: expected vs actual timing
const targetMs = 5;
let last = Date.now();
let times = 0;

const driftId = setInterval(function () {
  const now = Date.now();
  const gap = now - last; // actual gap
  last = now;
  times = times + 1;
  console.log("gap~", gap, "ms");

  if (times >= 3) {
    clearInterval(driftId);
    console.log("done");
  }
}, targetMs);
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 4

तालमेल वाला निर्धारण

बदलते हुए expected समय के साथ तालमेल बैठाएँ: उसमें से अगली प्रतीक्षा निकालें, ताकि त्रुटि लगातार जमा न हो।

// Simple drift fix: schedule from the expected time
const step = 5;
let expected = Date.now() + step;
let ticks = 0;

function tick() {
  ticks = ticks + 1;
  const now = Date.now();
  const drift = now - expected; // positive if we are late
  console.log("drift:", drift, "ms");

  // Compute next expected time first
  expected = expected + step;

  // Next delay = time until the next expected timestamp
  const nextDelay = Math.max(0, expected - Date.now());

  if (ticks < 3) {
    setTimeout(tick, nextDelay);
  } else {
    console.log("aligned stop");
  }
}

setTimeout(tick, step);
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 5

सुझाव और जाँच-सूची

सुझाव:

  • काम पूरा होने पर हमेशा clearInterval करें।
  • स्थिर गति के लिए तालमेल वाले setTimeout चक्रों को प्राथमिकता दें।
  • drift कम करने के लिए timer से बुलाए जाने वाले कार्य छोटे रखें।
setTimeout, setInterval और टाइमर का खिसकाव — चित्र 6

drift सुधार—प्रश्नोत्तरी

त्वरित जाँच: drift कम करना।

setTimeout, setInterval और टाइमर का खिसकाव — चित्र 7

पुनरावलोकन

पुनरावलोकन: एक बार चलने वाले कामों के लिए setTimeout, दोहराए जाने वाले कामों के लिए setInterval का उपयोग करें (उसे हटाना याद रखें), और अगली बार चलने का समय expected समय के साथ मिलाकर drift कम करें।

setTimeout, setInterval और टाइमर का खिसकाव — चित्र 8
शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
59
पाठ
200

अक्सर पूछे जाने वाले प्रश्न

क्या “setTimeout, setInterval और टाइमर का खिसकाव” पाठ निःशुल्क है?

हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “setTimeout, setInterval और टाइमर का खिसकाव” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“setTimeout, setInterval और टाइमर का खिसकाव” में मैं क्या सीखूँगा?

setTimeout/setInterval से एक बार और बार-बार चलने वाले कार्य निर्धारित करें तथा टाइमर के खिसकाव को कम करने की सरल तकनीक सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।

“setTimeout, setInterval और टाइमर का खिसकाव” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. setTimeout, setInterval और टाइमर का खिसकाव
  2. डिबाउंस बनाम थ्रॉटल — स्वयं बनाना
  3. एनीमेशन टाइमिंग — समय-आधारित लूप का परिचय
← JavaScript Academy पर वापस जाएँ