- 解决过的亮点、困难的问题?
- 了解浏览器的事件循环么?为什么js在浏览器中有事件循环的机制?
- js是单线程的,要完成非阻塞的异步任务,就采用事件循环机制
- 宏任务 & 微任务,为什么一定要区分出来两种任务
- 宏任务:setTimeout, setInterval, I/O操作
- 微任务:Promise, MutationObserver
- 任务队列先进先出,那么默认就没有优先级的划分,紧急任务有可能被阻塞,所以就引入了两种任务类型
- 浏览器的事件循环和node中的事件循环有什么区别
- timer -> pending callback -> idle -> poll -> check -> close callback
- 每执行完一个任务阶段,清空一次微任务队列
- 事件循环这里可能会看代码说结果