queueMicrotask(callback): void
Attributes
callback:
FunctionFunction to be queued.
The queueMicrotask() method queues a microtask to invoke callback. If
callback throws an exception, the process object 'uncaughtException'
event will be emitted.
The microtask queue is managed by V8 and may be used in a similar manner to
the process.nextTick() queue, which is managed by Node.js. The
process.nextTick() queue is always processed before the microtask queue
within each turn of the Node.js event loop.
// Here, `queueMicrotask()` is used to ensure the 'load' event is always // emitted asynchronously, and therefore consistently. Using // `process.nextTick()` here would result in the 'load' event always emitting // before any other promise jobs. DataHandler.prototype.load = async function load(key) { const hit = this._cache.get(key); if (hit !== undefined) { queueMicrotask(() => { this.emit('load', hit); }); return; } const data = await fetchData(key); this._cache.set(key, data); this.emit('load', data); };