事件迴圈中事件佇列的順序

2022-10-05 06:36:12 字數 534 閱讀 7015

同步任務

nexttick**函式佇列(微任務)

promise**函式佇列(微任務)

timeout,interval定時器任務佇列(巨集任務)

i/o事件任務佇列,如http請求、檔案讀寫等(巨集任務)

immediate任務佇列

:對於當前正在執行任務所產生的的子任務,不管是什麼型別的,都得等當前任務佇列中所有的任務執行完才會再執行。層序遍歷了解一下?例如:

settimeout(function() )

})settimeout(function() )

上面**執行時,首先產生的是乙個巨集任務佇列,按順序為timeout1, timeout2,。首先執行timeout1,在執行timeout1時,會產生子任務nexttick新增到微任務佇列。這裡要注意的是,這個新新增的微任務不會在巨集任務timeout2之前執行,因為timeout1和timeout2屬於同乙個任務佇列,也就是當任務佇列,因此timeout2執行完成之後才會執行nexttick。

繫結事件 事件佇列 事件迴圈

一 繫結事件 1.html元素內繫結 2.js繫結事件 3.事件監聽繫結 1 點我一哈 2 我是js事件 3 我是監聽事件 4 二 定時器 1.settimeout延時器,延時執行,只執行一次 語法 settimeout callback,delay 2.清除延時器 cleartimeout 定時器...

js 事件迴圈,非同步,事件佇列

首先,現附上我查詢資料中用到較好的一張圖 這裡面就對事件迴圈,任務佇列,非同步操作介紹的很詳細.我的理解 較為粗略的一張圖 我認為的事件迴圈的主要邏輯 1.取乙個巨集任務來執行,執行完畢,下一步.2.取乙個微任務來執行,執行完畢,再取乙個微任務來執行,直到微任務全部取完.3.更新ui渲染 概念 巨集...

事件佇列的理解

在前端的日常工作中,我們可能不會特別關注事件佇列這樣比較抽象的概念,初次接觸事件佇列是在面試的時候被問到,你知道的 一臉懵逼,然後就各種網上搜尋,以下是我的理解,如果有不正確的地方希望大神們指正 寫這篇部落格最主要的是參照了 逆光飛舞 的部落格 第一 首先我們得了解前端工程 js 與 程序 執行緒的...