這次帶給大家event loop如何使用,使用event loop的注意事項有哪些,以下就是實戰案例,一起來看一下。
event loop這東西,確實把我坑了一把,面試的時候被問到這個問題的時候,我是懵逼的,完全不知道怎麼回答,而當我回來查到原來這個聽起來如此玄乎又厲害的名字就是異步和單線程那塊的知識的時候,我心情又變得很複雜,怪我,不知道它有這麼個高級的名字。
其實這玩意相當簡單,首先,js是一門單線程的語言,所謂單線程,一句話就可以講清楚---「js不能同時做兩件事,只能按順序一件一件做」。
這個順序就比較通俗易懂了--“先同步,後異步”,js在執行程式碼的時候,會從上到下執行,如果發現你是一個同步事件,那就立即執行;如果發現你是一個非同步事件,對不起,不管你是延遲0秒還是10秒,只要性質上屬於非同步事件,都放到事件佇列裡去等著。等到執行堆疊中(也就是存放主執行緒中所有的同步事件的東西)的同步事件處理完成了後,主執行緒就開始不斷地去事件佇列查詢#有沒有可以拉過來執行的事件。 (注意:在同步事件剛剛處理結束的時候,如果非同步佇列裡有延時函數,它們是同時開始計時的)。
而這個主執行緒循環不斷地去事件佇列裡取事件的過程,就叫做事件循環。
我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是event loop如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!