事件循环-JavaScript运行时中的微任务和宏任务
event loop - Micro and macro tasks in JavaScript runtime
JavaScript运行时中有微任务队列和宏任务队列。
setTimeout
使用宏任务队列。
IE11中的setImmediate
可能使用了微任务队列?
process.nextTick
使用微任务队列。
但setImmediate
没有在任何其他浏览器中实现(也不会是AFAIK)。
且process.nextTick
仅为Node。
承诺使用微任务队列。因此,能否利用Promise
在非IE浏览器中提供类似setImmediate
的功能?
当然,三年后,但我们现在确实有了答案:添加了window.queueMicrotask()
方法,允许向JavaScript运行时的微任务队列添加回调。我目前正在完善MDN Web文档的微任务指南。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在等待异步任务时永久循环
- Grunt任务没有加载,获得无限循环
- 如何在GULP任务中循环传递数组
- 循环一个单调乏味的任务
- 如何在循环中对 es6 生成器执行异步任务
- For 循环不迭代,输出的数据不超过第一个任务
- Gulp 任务在无限循环中运行
- Javascript事件循环任务队列溢出是否可能
- 事件循环上下文中的微任务和宏任务之间的区别
- 如何在node.js中编写for循环,以便每个任务都串行执行
- 基于forEach循环的任务
- Node.js / Gulp -循环Gulp任务
- 通过forEach循环执行任务以复制具有数组长度的任务
- Gulp手表任务导致无限循环
- 浏览器中的事件循环和任务队列之间有区别吗
- 事件循环-JavaScript运行时中的微任务和宏任务
- 使用循环[gulp]创建任务
- 单调的任务陷入无休止的循环
- 我被循环任务困住了