Nodejs和JavaScript任务队列
1.JavaScript事件循环

2.宏任务和微任务


setImmmediate【不能指定延迟事件】



MutationObserver【专门监听节点的变化】


事件执行的完整流程
宏任务和微任务分开


第二种宏任务中包含微任务


宏任务重包含微任务,微任务重包含宏任务



3.Nodejs队列
1.任务队列不同,Nodejs有6个任务队列



2.Nodejs没有微任务队列

3.微任务执行时机不同



4.微任务优先级不同

Nodejs没有dom节点,所以MutationObserver微任务不需要存在

process.nextTick的优先级比Promis高

4.Nodejs执行完整顺序
案例1:
同步代码立即执行

同步代码执行完立即执行微任务


最终结果

案例2:



面试题
问题1

问题2:poll异步之后等待执行poll的回调


