亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - promise和setTimeout執行順序的疑惑

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

問題描述

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

如上代碼,為什么運行結果是2,1而不是1,2?不是setTimeout先加入任務隊列嗎?

問題解答

回答1:

從規范上來講,setTimeout有一個4ms的最短時間,也就是說不管你設定多少,反正最少都要間隔4ms才運行里面的回調(當然,瀏覽器有沒有遵守這個規范是另外一回事兒)。而Promise的異步沒有這個問題。

從具體實現上來說,這倆的異步隊列不一樣,Promise所在的那個異步隊列優先級要高一些。具體的你可以看這篇文章:從Promise來看JavaScript中的Event Loop、Tasks和Microtasks

回答2:

Promise的任務會在當前事件循環末尾中執行,而setTimeout中的任務是在下一次事件循環執行

回答3:

javascript - promise和setTimeout執行順序的疑惑

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

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 香蕉视频黄在线观看 | 91青草久久久久久清纯 | 国产老鸭窝毛片一区二区 | 久久久精品2018免费观看 | 99www综合久久爱com | 日本一级毛片在线看 | 99ri在线精品视频在线播放 | 超级碰碰碰视频视频在线视频 | 一区二区三区视频 | 自拍偷自拍亚洲精品一区 | 成人在线免费观看 | 久久精品免费观看 | 成人免费视频日本 | 国产精品国产亚洲精品不卡 | 亚洲视频高清 | 欧美巨大video粗暴 | 香蕉久久夜色精品国产尤物 | 国产精品三级 | 香蕉视频在线观看黄 | 91久久国产成人免费观看资源 | 国产超薄肉色丝袜足j | 欧美日韩中文字幕在线视频 | 日本一级毛片高清免费观看视频 | 欧美在线视频观看 | 一本色道久久88亚洲精品综合 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 国产精品久久久久久久免费大片 | 国产精品一区二区久久精品涩爱 | 在线视频亚洲 | 97久久国语露脸精品对白 | 日韩经典欧美精品一区 | 国产精品久久久久久久久久98 | 欧美日韩在线视频一区 | 国产91成人精品亚洲精品 | 成人在线一区二区三区 | 香蕉国产人午夜视频在线观看 | 久久福利青草精品资源站免费 | 精品久久久久久中文字幕网 | 欧美人交性视频在线香蕉 | 欧美一级视频在线高清观看 | 在线观看精品国产 |