Javascript事件轮询以及宏任务和微任务都是些老生常谈的话题了。最近系统性的深入学习了一下这部分的相关知识,发现了一些比较好的资料。在这里整理了一下,
事件轮询
首先推荐看一下 Philip Roberts 的这个Javascript Event Loop的演讲视频
虽然时间有点久了,但是是一个非常的经典的解释Event Loop的视频。
然后推荐看一下这篇文章:
作者制作了很多清晰易懂的可视化gif图来详细解释Event Loop 所经过的每一个步骤,看完你会对调用栈、任务队列、webApi有一个非常清晰的认识
最后是这篇文章:
这篇文章对Event Loop的阐述也是非常详尽的,并且从CPU的使用层面对Event Loop做了说明,包括任务队列对页面渲染的影响,都有非常不错的代码示例。
宏任务和微任务
看完Event Loop后就绕不开宏任务和微任务的话题,以下也是讲解的比较好的文章。 可视化 Promise & async & await
dev.to/lydiahallie… 和可视化Event Loop一样,也是一组非常清晰的gif图形讲解。
任务,微任务,队列和时间表 jakearchibald.com/2015/tasks-…
这篇文章也非常不错,很多人都在推荐