无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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ù)是什么?的評論 (共 條)

分享到微博請遵守國家法律
芦山县| 双流县| 龙门县| 扎赉特旗| 巴彦淖尔市| 黄石市| 桂林市| 改则县| 威信县| 佛学| 嘉黎县| 鲁甸县| 专栏| 从江县| 界首市| 乌拉特后旗| 杨浦区| 梅河口市| 石家庄市| 云南省| 海淀区| 浮梁县| 莆田市| 宁海县| 上犹县| 措美县| 东山县| 黄梅县| 清水河县| 宁德市| 新田县| 陆良县| 门头沟区| 塘沽区| 宝清县| 涿鹿县| 太谷县| 独山县| 郸城县| 济源市| 当雄县|