JS中的宏任务和微任务(EventLoop)

JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事,提高效率。

任务队列:单线程意味着所有任务需要排列,前一个任务结束,才会执行后一个任务,任务队列分为同步任务和异步任务,先执行同步任务再执行异步任务。

EventLoop:可以分为宏任务和微任务。

宏任务: script、setTimeout、setInterval、setImmediate(node.js)、requestAnimationFrame

微任务:Promise的then/catch、process.nextTick(node.js)、MutationObserver、observer

除了script是第一次就执行,其他都是微任务优先于宏任务。

posted @ 2021-05-08 14:03  落叶流冰  阅读(118)  评论(0编辑  收藏  举报