Перейти до вмісту

Таймери

setTimeout, setInterval, setImmediate і планування мікрозавдань.

На цій сторінці
Open in ChatGPTOpen in Claude

Elide надає звичні глобальні функції таймерів:

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

Функції таймерів повертають сумісні з Node об’єкти Timeout або Immediate, а не числові ідентифікатори. Об’єкти підтримують 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

Чи була ця сторінка корисною?