我在某些问题中看到What is minimum millisecond value of setTimeout?人们在谈论“setTimeout的最小超时时间”,但我无法真正理解它。无法理解`setTimeout()中的最小超时值`
它说,在HTML5规范的最小超时值为4ms
,所以我想,如果我运行下面的浏览器(比如浏览器)代码:
setTimeout(function() { console.log("333"); }, 3);
setTimeout(function() { console.log("222"); }, 2);
setTimeout(function() { console.log("111"); }, 1);
setTimeout(function() { console.log("000"); }, 0);
输出应该是:
333
222
111
000
但实际上,它是:
111
000
222
333
好像他们仍然按照指定的恬运行即使它们小于4(期望0
和1
)
我应该如何理解值4ms
?
'4ms'可能会更好地理解为'250fps'。有点高,你不觉得吗? –
我觉得你必须阅读[__'Event loop'__](https://developer.mozilla.org/en/docs/Web/JavaScript/EventLoop#Event_loop) – Rayon
而[___'延迟超过指定的原因' ___](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout#Reasons_for_delays_longer_than_specified) – Rayon