Loading... **XHR回调、事件回调(鼠标键盘事件)、setImmediate、setTimeout、setInterval、indexedDB数据库操作等I/O以及UI rendering**都属于宏任务 **process.nextTick、Promise.then、Object.observer(已经被废弃)、MutationObserver(html5新特性)** 属于微任务 **事件循环(Event Loop)运行机制** 执行一个宏任务(栈中没有就从事件队列中获取),当前的整体代码我们可以认为是宏任务 执行过程中如果遇到微任务,就将它添加到微任务的任务队列中 宏任务执行完毕后,立即执行当前微任务队列中的所有微任务(依次执行) 当前宏任务执行完毕,开始检查渲染,然后GUI线程接管渲染 渲染完毕后,JS线程继续接管,开始下一个宏任务(从事件队列中获取) 最后修改:2022 年 06 月 24 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏