js事件循环、微任务和宏任务
js事件执行顺序是先执行同步操作,然后执行异步操作,异步操作包含微任务和宏任务,先执行微任务,在执行宏任务
事件循环(event-loop)是什么?
eventLoop是指主线程从"任务队列"中读取执行事件,这个过程是循环不断的,这个机制被称为事件循环,
事件循环使js单线程下处理异步操作,避免程序阻塞,保证了整个流程的流程性和响应性。
常用的微任务和宏任务有哪些?
微任务:Promise.then(非 new Promise)、 async、await、process.nextTick(Node.js)、Proxy对象(代替Object.observe)、MutationObserver(监控dom节点变化)
优先级:process.nextTick >new Promise().then(回调) > MutationObserver