系统:Windows11
宏任务和微任务的执行顺序是先宏后微。先执行同步代码,遇到异步宏任务则将异步宏任务放入宏任务队列中,遇到异步微任务则将异步微任务放入微任务队列中,当所有同步代码执行完毕后,再将异步微任务从队列中调入主线程执行,微任务执行完毕后再将异步宏任务从队列中调入主线程执行,一直循环直至所有任务执行完毕。
宏任务有:script(可以理解为外层同步代码);setTimeout/setInterval3;UIrendering/UI事件;postMessage,MessageChannel5.setImmediate,I/O(Node.js)
微任务有:Promise2.process.nextTick(Node.js);Object.observe(已废弃;Proxy对象替代);MutaionObserver。