Javascript事件輪詢以及宏任務(wù)和微任務(wù)都是些老生常談的話題了钱骂。最近系統(tǒng)性的深入學(xué)習(xí)了一下這部分的相關(guān)知識,發(fā)現(xiàn)了一些比較好的資料坏逢。在這里整理了一下淤袜,
事件輪詢
首先推薦看一下 Philip Roberts 的這個(gè)Javascript Event Loop的演講視頻
雖然時(shí)間有點(diǎn)久了,但是是一個(gè)非常的經(jīng)典的解釋Event Loop的視頻稚铣。
然后推薦看一下這篇文章:
https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif
作者制作了很多清晰易懂的可視化gif圖來詳細(xì)解釋Event Loop 所經(jīng)過的每一個(gè)步驟箱叁,看完你會對調(diào)用棧、任務(wù)隊(duì)列惕医、webApi有一個(gè)非常清晰的認(rèn)識
最后是這篇文章:
這篇文章對Event Loop的闡述也是非常詳盡的耕漱,并且從CPU的使用層面對Event Loop做了說明,包括任務(wù)隊(duì)列對頁面渲染的影響抬伺,都有非常不錯(cuò)的代碼示例螟够。
宏任務(wù)和微任務(wù)
看完Event Loop后就繞不開宏任務(wù)和微任務(wù)的話題,以下也是講解的比較好的文章峡钓。
可視化 Promise & async & await
https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke
和可視化Event Loop一樣妓笙,也是一組非常清晰的gif圖形講解。
任務(wù)能岩,微任務(wù)寞宫,隊(duì)列和時(shí)間表
https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
這篇文章也非常不錯(cuò),很多人都在推薦