宏任务和微任务 让我们从浏览器加载 script 说起,当浏览器加载完 script 之后,不考虑 script 标签的 defer 属性,script 将被立即执行.这时,我们就创建了一个宏任务. 在我们加载的代码中,可能有 click 事件的监听,也可能会发出网络请求.当这些操作触发我们埋下的回调函数后,相应的回调函数都会作为新的宏任务执行. 当然,在我们的宏任务的代码中,也可能会用到 Promise,MutationObserver 这些 api,他们的回调函数(或者 then 函数)都会…