انتقل إلى المحتوى

المؤقتات

⁦setTimeout⁩ و⁦setInterval⁩ و⁦setImmediate⁩ وجدولة المهام الدقيقة.

في هذه الصفحة
Open in ChatGPTOpen in Claude

يوفر ⁦Elide⁩ متغيرات المؤقتات العامة المألوفة:

  • setTimeout / clearTimeout
  • setInterval / clearInterval
  • setImmediate / clearImmediate
  • queueMicrotask

تعيد دوال المؤقتات كائنات ⁦Timeout⁩ أو ⁦Immediate⁩ متوافقة مع ⁦Node⁩، لا معرّفات رقمية. وتدعم الكائنات ⁦ref()⁩ و⁦unref()⁩ و⁦hasRef()⁩؛ ويدعم ⁦Timeout⁩ أيضًا ⁦refresh()⁩.

const timer = setTimeout(() => console.log("done"), 100);
timer.unref();

عند نقطة التحقق، يكون الترتيب الملاحظ كما يلي:

  1. ⁦process.nextTick⁩
  2. استدعاءات ⁦Promise⁩ و⁦queueMicrotask⁩ بترتيب الإدراج في الطابور
  3. ⁦setImmediate⁩
  4. المؤقتات ذات التأخير الصفري
const order = [];
Promise.resolve().then(() => order.push("promise"));
queueMicrotask(() => order.push("microtask"));
setImmediate(() => order.push("immediate"));
setTimeout(() => console.log(order), 0);

يجب أن تكون دالة الاستدعاء قابلة للاستدعاء. ولا تُدعم المعالجات النصية.

Reference

Status: Full · Not measured

هل كانت هذه الصفحة مفيدة؟