新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
解讀JavaScript中的事件循環(huán)
JavaScript的事件循環(huán)是其核心機(jī)制之一,它決定了JavaScript代碼的執(zhí)行順序,事件循環(huán)的工作方式可以概括為:

1、首先執(zhí)行同步代碼,也就是我們的主線程代碼。
2、然后等待隊(duì)列中的任務(wù)(宏任務(wù)和微任務(wù))。
3、當(dāng)主線程空閑時,開始執(zhí)行隊(duì)列中的任務(wù)。
4、在每個任務(wù)執(zhí)行完畢后,檢查是否有新的任務(wù)加入隊(duì)列,如果有則繼續(xù)執(zhí)行,如果沒有則等待。
以下是一個簡單的示例:
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0);
Promise.resolve().then(function() {
console.log('promise1');
}).then(function() {
console.log('promise2');
});
console.log('script end');
在這個例子中,雖然setTimeout的延遲時間設(shè)置為0,但是它仍然是一個異步任務(wù),會被放入到任務(wù)隊(duì)列中等待執(zhí)行,而Promise的then方法注冊的回調(diào)函數(shù)則會在當(dāng)前腳本執(zhí)行結(jié)束后立即執(zhí)行,實(shí)際的輸出順序應(yīng)該是:’script start’ > ‘script end’ > ‘promise1’ > ‘promise2’ > ‘setTimeout’。
網(wǎng)站題目:解讀JavaScript中的事件循環(huán)
文章出自:http://m.5511xx.com/article/dpeiosi.html


咨詢
建站咨詢
