js事件循环

76 阅读1分钟

由于js引擎是单线程的,同一时刻只能干一件事情,那么在js执行栈中(主线程中)只要遇到异步任务会交给浏览器其他线程来处理,然后并等待,等待完毕之后会移到任务队列中,等待执行栈中的代码执行完毕之后在执行异步任务。从任务队列中按照进来的顺序取出一起放到栈中执行,执行完毕后再取一个在执行,这种过程是重复的,这种执行机制我们称之为事件循环(event loop). 同时异步任务会分为宏任务和微任务,分别进入到相应宏和微任务队列,按照先微后宏的执行