Node.js queueMicrotask() 方法
在Node.js中,queueMicrotask()方法允许您在当前代码块执行完毕后,异步地将函数排队执行。该方法只接受一个参数,即要排队的函数。这个微任务是一个临时函数,在当前任务完成其工作且没有其他代码等待执行之前,才会执行,并将执行上下文的控制返回到浏览器的事件循环中。
语法:
queueMicrotask(function);
参数: 此方法接受一个单一参数,如下所述:
- function: 一个新的函数用于微任务队列。当当前调用堆栈已经空时,此方法将异步运行。
返回值: 此方法返回 undefined 值。
示例 1: 使用 queueMicrotask() 在当前调用堆栈清空后执行一个函数。
console.log('start');
queueMicrotask(() => {
console.log('executing microtask');
});
console.log('end');
运行步骤: 使用以下命令运行 index.js 文件:
node index.js
输出:

示例 2: 使用 queueMicrotask() 创建一个简单的任务队列。
const taskQueue = [];
function addToTaskQueue(task) {
taskQueue.push(task);
queueMicrotask(processTaskQueue);
}
function processTaskQueue() {
const task = taskQueue.shift();
if (task) {
task();
queueMicrotask(processTaskQueue);
}
}
function logTask(text) {
return () => console.log(text);
}
addToTaskQueue(logTask('Task 1'));
addToTaskQueue(logTask('Task 2'));
addToTaskQueue(logTask('Task 3'));
使用以下命令运行 index.js 文件:
node index.js
输出:

参考: https://nodejs.org/api/globals.html#queuemicrotaskcallback
极客教程