假設我有這樣的代碼:DOM事件的優先級隊列
$('button').click(function onClick() {
$('#divResult').text(Math.rand());
});
setInterval(function timeout() {
console.log("Hello");
}, 300);
setInterval(function timeout() {
console.log("Hi");
}, 200);
setInterval(function timeout() {
console.log("Yo!");
}, 100);
所以基本上,300毫秒後,我會在事件隊列超過1個回調函數。現在,讓我們說一段時間後,用戶點擊一些東西。這個點擊事件得到處理,onClick()回調函數也進入事件隊列中。假設第一次到達那裏,已經有兩個由setInterval創建的回調函數。由於這是一個與DOM相關的函數,它將重新渲染窗口,它會優先於這些函數嗎?
在this talk on event loops中,作者提到了一個渲染隊列,該渲染隊列優先於回調隊列(通過setTimeout和setInterval之類的方法進行回調)。由於onClick()執行與渲染相關的事情,它會進入這個隊列還是進入常規回調隊列並等待輪到?
「*在這個關於事件循環的討論中...... *」 - 說什麼? – Amit
@Amit對不起,我忘了添加鏈接。固定。 – daremkd
我不記得在任何規範或MDN(「聖經」)中提到過任何類似的東西。我假設即使存在這樣的事情,它也會依賴於實現。但我不知道這個確實... – Amit