There are micro- and macro- task queues in the JavaScript runtime.
setTimeout
使用macrotask队列。
setImmediate
可能使用微任务队列?
process.nextTick
使用微任务队列。
但setImmediate
未在任何其他浏览器中实现(并且不会是AFAIK)。
process.nextTick
仅限节点。
Promises使用微任务队列。因此可以利用Promise
在非IE浏览器中提供setImmediate
类似的功能吗?
答案 0 :(得分:2)
当然,三年后,但我们现在对此有一个答案:已添加window.queueMicrotask()
方法,以允许向JavaScript运行时的微任务队列添加回调。我目前正在努力充实microtask guide on MDN Web Docs。