乱人伦 国语对白海角社区,五月激情丁香婷婷综合中文字幕,欧美伊人婷婷久久五月综合,亚洲精品无amm毛片,亚洲男人第一无码AV网站,国产日韩欧美丝袜一区二区,亚洲一区精品在线观看

js Event Loop 事件循环-街机金蟾捕鱼真人版

js Event Loop 事件循环

2026-01-16 08:16:34投稿人:LONG8客戶端下載(益陽)有限公司圍觀26663 評論

js Event Loop 事件循環(huán)

來源 :Loong Panda


概念

Event Loop即事件循環(huán),是解決javaScript單線程運行阻塞的一種機制。 主要是為了協調單線程下,事件、用戶交互、腳本、UI 渲染和網絡處理等行為,防止主線程的不阻塞。

因為JavaScript 是單線程,也就是說,所有任務需要排隊,前一個任務結束  ,才會執(zhí)行后一個任務。

但是IO設備(輸入、出設備)可能會因為網絡等因數導致速度很慢(比如Ajax)繼而CPU沒有充分利用 ,所以設計者將IO設備的任務掛起,先執(zhí)行后面的任務,等到IO設備返回了結果,再回過頭,把掛起的任務繼續(xù)執(zhí)行下去 。于是,就把所有任務分成兩種,一種是同步任務(synchronous),另一種是異步任務(asynchronous)。


同步任務:

只有前一個任務執(zhí)行完畢 ,才能執(zhí)行后一個任務;直接在主線程上排隊執(zhí)行且最先執(zhí)行,形成一個執(zhí)行棧


異步任務:

不進入主線程、而是進入"任務隊列"(task queue)的任務,只有"任務隊列"通知主線程,某個異步任務可以執(zhí)行了 ,該任務才會進入主線程執(zhí)行 。

一、microtask(微任務)1
、Promise.then2、MutationObserver(Mutation Observer API 用來監(jiān)視 DOM 變動)3、Object.observe()(已廢棄)4、nextTick(Node.js 環(huán)境)二、macrotask(宏任務)1、script(整體代碼) 注: 這個很容易忽略掉,就是指script根環(huán)境,而且它永遠是第一個執(zhí)行的宏任務(包含了同步的任務).2	、setTimeout3、setInterval4、setImmediate5