Timing Events

در جاوااسکریپت، برای اجرای کد در زمان مشخص یا به صورت تکراری از Timing Events استفاده می‌کنیم.
دو متد اصلی: setTimeout() و setInterval() هستند.

🔹 1. ()setTimeout

  • یک تابع را بعد از مدت مشخص (میلی‌ثانیه) فقط یک بار اجرا می‌کند.

setTimeout(() => { console.log("Hello after 3 seconds"); }, 3000);

📌 در مثال بالا، پیام بعد از 3 ثانیه نمایش داده می‌شود.

🔹 2. ()clearTimeout

  • اجرای تایمر setTimeout() را لغو می‌کند.

let timer = setTimeout(() => { console.log("This will not run"); }, 3000); clearTimeout(timer); // لغو اجرای تایمر

🔹 3. ()setInterval

  • یک تابع را هر مدت زمان مشخص (میلی‌ثانیه) به صورت تکراری اجرا می‌کند.

let counter = 0; let interval = setInterval(() => { counter++; console.log("Counter: " + counter); }, 1000);

📌 در مثال بالا، شمارنده هر ثانیه افزایش پیدا می‌کند.

🔹 4. ()clearInterval

  • اجرای تایمر setInterval() را متوقف می‌کند.

setTimeout(() => { clearInterval(interval); // متوقف شدن بعد از 5 ثانیه }, 5000);

🔹 5. نکات مهم

  • زمان در setTimeout و setInterval بر حسب میلی‌ثانیه است.

  • 1000 ms = 1 second

  • اگر نیاز به اجرای تکراری دارید از setInterval و اگر نیاز به اجرای یکبار دارید از setTimeout استفاده کنید.

✅ خلاصه

  • setTimeout(fn, ms) → اجرای یکبار تابع بعد از زمان مشخص

  • clearTimeout(id) → لغو تایمر setTimeout

  • setInterval(fn, ms) → اجرای تکراری تابع در بازه زمانی مشخص

  • clearInterval(id) → لغو تایمر setInterval