JavaScript 运行时中的微任务和宏任务

Micro and macro tasks in JavaScript runtime

There are micro- and macro- task queues in the JavaScript runtime.

setTimeout 使用宏任务队列。

setImmediate in IE11 大概用到了微任务队列吧?

process.nextTick 使用微任务队列。

但是 setImmediate 没有在任何其他浏览器中实现(并且不会是 AFAIK)。

并且 process.nextTick 仅是节点。

Promises 使用微任务队列。 Promise 因此可以在非 IE 浏览器中提供类似 setImmediate 的功能吗?

三年后,当然,但我们现在确实有了答案:window.queueMicrotask() method has been added to allow adding a callback to the JavaScript runtime's microtask queue. I'm currently working on fleshing out a microtask guide on MDN Web Docs