console.log('本轮任务');
new Promise((resolve, reject) => {
resolve(3)
}).then(() => {
console.log('本轮微任务');
})
document.getElementById('div').addEventListener('click', () => { console.log('click'); })
document.getElementById('div').click()
首先答案是
本轮任务
click
本轮微任务
由于单步跟踪了以上三个链路的代码,耗时不少,好处则是可以很清楚的给出 chromium 这一种浏览器的调试关键点和一些歪门邪道的知识来作为补充内容。
在 V8 的 microtask-queue 实现中,是会对 Microtasks scope depth 计数的