click() 是同步触发事件的,两个 handler 之间不能执行 microtask,需要等四个 handler 都执行完了再执行两个 microtask 和两个 task,所以是24681357
而用户点击事件在两个 handler 之间是可以执行 microtask 的,所以是21436857
截图里那个 undefined 是 document.body.click() 的返回值,chrome 的 DevTools 应该不是同步地显示返回值的,Firefox 的开发者工具则是同步的
至于 Chrome devtools 显示返回值到底是用 task 还是 microtask,偶懒得翻源码了,做个小测试吧
注:这里用 postMessage 作为 setImmediate 的 polyfill