最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JS中的微任務(wù)和宏任務(wù)是什么?

2022-11-01 10:11 作者:十叁みずき  | 我要投稿

JS中的語言類型

在談微任務(wù)和宏任務(wù)之前,我們首先要了解一下JS它是一種單線程的語言,也就是說它同一時間只能干同一件事.JS作為瀏覽器的腳本語言,它的主要用途在于與用戶互動,以及操作DOM,多線程并不適合它(比如一個線程添加DOM節(jié)點,一個線程來刪除DOM節(jié)點,該以哪個為準?).

JS中的異步代碼

在單線程的模式中,前一個任務(wù)結(jié)束我們才能去執(zhí)行下一個任務(wù),如果前一個任務(wù)耗時很長,后一個任務(wù)就不得不一直等著.

1

舉個簡單的例子,即使不點這個節(jié)點 123也是肯定會被打印出來的.

事件循環(huán)的任務(wù):ajax請求,定時器,事件...

JS的代碼執(zhí)行流程是?1執(zhí)行同步 2事件循環(huán) 所以上述代碼會先執(zhí)行console.log?再執(zhí)行點擊事件,明白這件事之后我們舉一個例子.

3

一個for循環(huán)包裹著一個定時器,這個執(zhí)行過程是這樣的先判斷for循環(huán)的內(nèi)容從0到3都符合那么i會自增到3,此時計時器會依次進入事件循環(huán)的隊列中,然后根據(jù)定時器,哪個快執(zhí)行哪個.

4


最終輸出的結(jié)果應(yīng)該是

5

宏任務(wù)和微任務(wù)

微任務(wù):promise.then

宏任務(wù):setTimeout...

要執(zhí)行宏任務(wù)的前提是清空了所有的微任務(wù).

流程:同步-事件循環(huán)[宏任務(wù)和微任務(wù)=>{微任務(wù)-宏任務(wù)}]

6

注意這里的new Promise是同步的 promise.then才是異步的微任務(wù).所以根據(jù)執(zhí)行流程,輸出結(jié)果為

7


JS中的微任務(wù)和宏任務(wù)是什么?的評論 (共 條)

分享到微博請遵守國家法律
屏山县| 双桥区| 龙海市| 鄂尔多斯市| 故城县| 五峰| 秦皇岛市| 南木林县| 克什克腾旗| 上栗县| 澳门| 犍为县| 屏东市| 汝城县| 广昌县| 阜新| 辰溪县| 马鞍山市| 石泉县| 连云港市| 崇明县| 乐昌市| 杂多县| 孝感市| 延安市| 汉寿县| 鄂伦春自治旗| 甘泉县| 青神县| 丰都县| 若尔盖县| 大竹县| 新余市| 枣庄市| 诏安县| 沙坪坝区| 仪征市| 额尔古纳市| 社旗县| 岳普湖县| 日土县|