参考视频:2分钟了解 JavaScript Event Loop | 面试必备_哔哩哔哩_bilibili
前端面试必问的JS事件循环,看完Offer拿到手软【干货收藏】_哔哩哔哩_bilibili
我们都知道JS是单线程的,所以遇到异步任务比如定时器、Promise时,浏览器会启动另一个线程来执行这个任务。
宏任务:定时器等等
微任务:Promise.then()等等
同步任务:new Promise 不要以为它是微任务哦
输出顺序是同步代码1、同步代码2、同步代码3、promise.then、setTimeout
一般是先输出完普通代码、再输出微任务的代码、再输出宏任务的代码。