事件循环(JS执行顺序)
事件循环
#Node
时间循环是浏览器宿主和Node与Javascript的连接的桥梁
Javascript单线程执行循序
遇到异步任务时:
将setTimeout,ajax,DOM监听等回调函数放到宏任务执行
将Promise的then()回调,Mutation Observer API ,queueMicrotask()等回调函数放到微任务执行
执行顺序:
- 遇到同步函数时,执行同步函数
- 遇到异步回调函数时,如果是微任务,会优先处理,放到微任务队列,等待微任务队列完全执行完成
- 遇到宏任务时,会按照用户的操作顺序,放到宏任务队列,按照循序执行,如果宏任务执行时遇到微任务,则微任务队列先去全部执行完成,在进行下一个宏任务队列