av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - promise和setTimeout執(zhí)行順序的疑惑

瀏覽:109日期:2023-05-15 09:32:56

問題描述

setTimeout(function () { console.log(1)}, 0);new Promise(function executor(resolve) {resolve();}).then(function () { console.log(2);});

如上代碼,為什么運(yùn)行結(jié)果是2,1而不是1,2?不是setTimeout先加入任務(wù)隊(duì)列嗎?

問題解答

回答1:

從規(guī)范上來講,setTimeout有一個(gè)4ms的最短時(shí)間,也就是說不管你設(shè)定多少,反正最少都要間隔4ms才運(yùn)行里面的回調(diào)(當(dāng)然,瀏覽器有沒有遵守這個(gè)規(guī)范是另外一回事兒)。而Promise的異步?jīng)]有這個(gè)問題。

從具體實(shí)現(xiàn)上來說,這倆的異步隊(duì)列不一樣,Promise所在的那個(gè)異步隊(duì)列優(yōu)先級(jí)要高一些。具體的你可以看這篇文章:從Promise來看JavaScript中的Event Loop、Tasks和Microtasks

回答2:

Promise的任務(wù)會(huì)在當(dāng)前事件循環(huán)末尾中執(zhí)行,而setTimeout中的任務(wù)是在下一次事件循環(huán)執(zhí)行

回答3:

javascript - promise和setTimeout執(zhí)行順序的疑惑

建議你去看下,<<你不知道的js(中卷)>>中1.5節(jié)左右的內(nèi)容,就理解了~我之前就是看了這個(gè)理解的。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产一级免费视频 | 欧美日韩大陆 | 国产乱码久久久 | 成人在线一区二区 | 日韩精品一区二区三区高清免费 | 在线观看亚洲专区 | 少妇一级淫片aaaaaaaaa | 天天干夜夜操 | 欧美日韩亚洲国产 | 在线观看成年人视频 | 亚洲 欧美 日韩在线 | 国产精品一区二区福利视频 | 夜夜爽99久久国产综合精品女不卡 | 日日干日日射 | 中文字幕一二三 | 一级黄色淫片 | wwwxxx日本在线观看 | 在线播放国产一区二区三区 | 国产一区91精品张津瑜 | 国产精品久久久久久久久久久久久 | 久久综合入口 | 爱爱视频在线观看 | 国产高清视频一区 | www狠狠爱com | 成人av播放 | 尤物视频在线免费观看 | 久久精品亚洲精品国产欧美 | 中文精品视频 | 夜夜久久 | 免费观看羞羞视频网站 | 日本成人中文字幕 | 午夜在线视频 | 久久亚洲视频 | 18成人在线观看 | 91成人免费 | 久久久国产一区 | 在线播放中文 | 国产综合精品一区二区三区 | 亚洲国产69| 亚洲一区精品在线 | 国产成人免费一区二区60岁 |