浏览器有
1dom渲染线程,
2js主线程,
3事件触发线程-click等事件,等符合触发条件就放进事件队列
4定时器 settimeout等符合触发条件放进事件队列
5ajax线程类似
把异步代码交给相关的模块处理,处理完之后,再交给事件队列中排队,当执行栈有空时,消息队列就把事件交给调用栈执行
微任务相关
promise.then和process.nextTick
1.事件循环promise.then 如果两份以上then链式调用的话 两个then都按序压入微任务队列等待执行
2.node 里面的process.nextTick可以和promise一样理解
3.await执行后下面的代码就是等于在then中执行的 属于微任务
有一博客可参考