javaScript是一个单线程语言、所有的任务都在一个线程中完成!一旦遇上大量的任务或者耗时的任务的时候、网页就会呈现卡死的状态、所以为了解决优化这些、我们需要去了解JS事件运行机制!
MacroTask(宏任务)& MicroTask(微任务)
在JS中、任务会被分为两种、一种是MacroTask(宏任务)、另外一种是MicroTask(微任务)、JS中有个main thread主线程和call-stack调用栈、所有任务都会先放到调用栈等待主线程执行!先看看MacroTask和MicroTask有那些!
/* MacroTask */
script
setTimeout
setInterval
postMessage
/* Micro Task */
Process.nextTick(node)
Promise
MutationObserver