برنامه نویسی

تایمر – جامعه dev

در JavaScript ، از تایمرها برای اجرای کد در زمان های خاص یا اجرای کد به طور مکرر پس از مدت مشخصی استفاده می شود. JavaScript دو ​​نوع تایمر اصلی را ارائه می دهد: SettimeOut () و SetInterval (). هر دو به شما امکان می دهند کد را پس از یک تأخیر خاص برنامه ریزی کنید ، اما آنها متفاوت رفتار می کنند.

1. Settimeout ()

  • SetTimeOut () به شما امکان می دهد پس از تأخیر مشخص ، یک عملکرد یا یک بلوک کد را اجرا کنید ، اما فقط یک بار کد را اجرا می کند.
  • چگونه کار می کند:- شما به JavaScript می گویید ، “منتظر این مقدار زمان باشید و سپس این کد را اجرا کنید.”

نحو

setTimeout(function, delay, ...args);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه

function sayHello() {
  console.log("Hello, world!");
}

// Call sayHello() after 3 seconds (3000 milliseconds)
setTimeout(sayHello, 3000);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال ، sayHello عملکرد بعد از 3 ثانیه اجرا می شود. در setTimeout() عملکرد دو آرگومان طول می کشد:

  • عملکردی که می خواهید اجرا کنید (sayHello).
  • تأخیر در میلی ثانیه (3000 میلی ثانیه = 3 ثانیه).
  • … args (اختیاری): آرگومان های اضافی که هنگام اجرای آن به عملکرد منتقل می شوند.

نکات مهم:

  • غیر مسدود کردن: SettimeOut () بقیه کد را از اجرای آن مسدود نمی کند. JavaScript در حالی که منتظر زمان بندی است ، به اجرای سایر دستورالعمل ها ادامه می دهد.
  • میلی ثانیه: تأخیر در میلی ثانیه مشخص شده است و حداقل تأخیر 1 میلی ثانیه است.
  • اجرای تک: پس از زمان مشخص شده ، عملکرد پاسخ به تماس فقط یک بار فراخوانی می شود.

2. setInterval ()

  • SetInterval () بارها و بارها یک قطعه کد یا عملکرد را در یک بازه مشخص (در میلی ثانیه) اجرا می کند ، تا زمانی که به آن بگویید که متوقف شود.
  • چگونه کار می کند:- شما به JavaScript می گویید ، “این کد را در هر زمان X اجرا کنید.”

نحو

setInterval(function, interval, ...args);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه

function sayHello() {
  console.log("Hello again!");
}

// Call sayHello() every 2 seconds (2000 milliseconds)
setInterval(sayHello, 2000);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • در اینجا ، کد داخل setInterval () هر 2 ثانیه اجرا می شود.

نکات مهم:

  • غیر مسدود کردن: مشابه SetTimeout () ، SetInterval () غیر مسدود کننده است. مرورگر در حالی که منتظر فاصله بعدی است ، کارهای دیگر را ادامه می دهد.
  • تکرار: بر خلاف SetTimeOut () ، که فقط یک بار اجرا می شود ، SetInterval () اجرای عملکرد پاسخ به تماس را در بازه مشخص ادامه می دهد.
  • ادامه تا متوقف شدن: عملکرد به طور مداوم در فاصله زمانی مشخص می شود تا زمانی که به صورت دستی پاک شود.

تایمرهای پاکسازی

بعضی اوقات ، ممکن است بخواهید قبل از اتمام یک تایمر متوقف شوید. شما می توانید این کار را با ClearTimeout () و ClearInterval () انجام دهید.

متوقف کردن تایمر SettimeOut ():

اگر می خواهید قبل از اجرای آن ، زمان را لغو کنید ، می توانید از ClearTimeout () استفاده کنید:

function sayHello() {
  console.log("Hello, world!");
}
const timeoutId = setTimeout(sayHello, 4000);

// Stop the timeout before it runs
clearTimeout(timeoutId);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

متوقف کردن تایمر setInterval ():

const intervalId = setInterval(sayHello, 1000);

// Stop the interval after 5 seconds
setTimeout(() => {
  clearInterval(intervalId);
  console.log("Interval timer stopped");
}, 5000);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • در اینجا ، ابتدا یک بازه را شروع می کنیم که هر ثانیه اجرا می شود. سپس ، پس از 5 ثانیه ، ما از SettimeOut () برای متوقف کردن فاصله با استفاده از ClearInterval (IntervalId) استفاده می کنیم.

خلاصه مفاهیم کلیدی:

  • SetTimeout (): یک عملکرد را یک بار پس از تأخیر مشخص انجام می دهد.
  • SetInterval (): یک تابع را به طور مکرر در فواصل مشخص انجام می دهد.
  • ClearTimeout () / ClearInterval (): برای لغو تایمرها استفاده می شود.
  • طبیعت ناهمزمان: تایمرها اجرای کد دیگر را مسدود نمی کنند. آنها به صف رویداد اضافه می شوند و پس از خالی بودن پشته تماس اجرا می شوند.
  • دقت: دقت تایمر به دلیل سایر عوامل مانند محاسبات سنگین یا محدودیت های مرورگر تضمین نمی شود.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا