پیاده سازی تابع sleep یا وقفه در جاوا اسکریپت

mohsen3 هفته قبل
ارسال شده در
javascript

یکی از بهترین راه حل ها برای پیاده‌سازی تابع وقفه در جاوا اسکریپت، استفاده از Promises است. با استفاده از setTimeout، می‌توان بدون متوقف کردن کل برنامه، یک وقفه ایجاد کرد. این روش به شما این امکان را می‌دهد که کدهایی را بعد از مدت زمان مشخصی اجرا کنید. فرم متداول تابع خواب به صورت زیر است:

      function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

    

این تابع می‌تواند به صورت زیر در عملکردهای غیرهمزمان (async) استفاده شود:

      async function demo() {
    for (let i = 0; i < 5; i++) {
        console.log(`Waiting ${i} seconds...`);
        await sleep(i * 1000);
    }
    console.log('Done');
}

demo();

    

در کد بالا، به ازای هر بار تکرار حلقه، برنامه به مدت مشخصی متوقف می‌شود و بعد از آن ادامه می‌یابد. همچنین، استفاده از await فقط درون توابعی که با کلمه کلیدی async تعریف شده‌اند، امکان‌پذیر است.

رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!