ما قصد داریم این پروژهٔ متن‌باز را در دسترس همهٔ مردم در سرتاسر دنیا قرار دهیم.

به ترجمهٔ محتوای این آموزش به زبان خودتان کمک کنید/a>.

بازگشت به درس

تاخیر با Promise

تابع داخلی setTimeout از کال‌بک‌ها استفاده می‌کند. یک جایگزین مبتنی بر Promise ایجاد کنید.

تابع delay(ms) باید یک Promise برگرداند. این وعده باید پس از ms میلی‌ثانیه حل‌وفصل (resolve) شود، به طوری که می‌توانیم then. را به آن اضافه کنیم، مانند این:

function delay(ms) {
  // کد شما
}

delay(3000).then(() => alert('بعد از 3 ثانیه اجرا می‌شود'));
function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

delay(3000).then(() => alert('بعد از 3 ثانیه اجرا می‌شود'));

لطفاً توجه داشته باشید که در این تمرین resolve بدون آرگومان فراخوانی می‌شود. ما هیچ مقداری را از delay بر نمی‌گردانیم، فقط از تاخیر اطمینان حاصل می‌کنیم.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.