Skip to content

Event Look

Js执行机制,js是单线程的,如果前面的任务执行耗时过长,就会阻塞后面的代码执行,这是不可接受的,所以js就分出了同步和异步的概念

同步任务

是代码从上到下依次执行

异步任务

异步任务又分为 宏任务微任务

  1. 宏任务

​ script(整体代码)、定时器、UI交互时间、postMessage、Ajax

  1. 微任务

​ Promise.then、catch、finally、MutaionObserver、process.nextTick(Node.js环境)

​ 所有同步任务都是主进程执行的一个执行栈,主线程外还有一个任务队列,异步任务执行队列中先执行 宏任务 ,然后清空当此 宏任务 中的所有微任务,然后进行下一个tick如此形成的循环

​ nextTick就是创建一个异步任务,那么他自然要等到同步任务执行完之后才执行