javascript的执行
当浏览器或者node拿到一段javascript代码的时候,会把代码拿给javascript引擎并且要求它去执行。
所以我我们可以知道,执行js的分成两种内容:
- 宿主发起的任务
- 引擎发起的任务
我们把由宿主发起的任务称作为宏任务(Macro Task)
把由引擎发起的任务称作为微任务(Micro Task)
宏任务和微任务并不在event loop(事件循环)中并不是相互独立的
宏任务的队尾有一个微任务的队列里面放着宏任务中产生的微任务(宏任务的中代码执行会产生微任务,然后js引擎将产生的微任务推到当前宏任务队尾的微任务队列中等待执行)
所以我们分辨宏任务和微任务的方法是判断这个事件是是由宿主提供还是由js引擎提供

浙公网安备 33010602011771号