有没有办法覆盖setTimeout函数,所以它使用微秒而不是毫秒

时间:2015-03-11 03:36:10

标签: javascript

由于此函数window.performance.now()返回自页面开始加载以来的当前时间(以微秒为单位),是否有办法将其准确性提高到更精确的setTimeout函数

2 个答案:

答案 0 :(得分:3)

简短的回答是否定,没有。此外,setTimeout的毫秒粒度具有误导性。 Some browsers are far less accuratethere are workarounds for this。在任何情况下,setTimeout调用仅在当前调用堆栈完成执行后调用,这可能比您想要的长得多。 setInterval实际上有一个有趣的行为,如果它们被其他正在执行的代码延迟,它将排队多个调用,这样当它们执行时,它们将一个接一个地执行,两者之间没有延迟。

答案 1 :(得分:2)

简答:不。

答案很长:Javascript不保证确切的超时时间,只是最短的超时时间。 setTimeout()setInterval()都会推迟代码并在线程可用时执行它。将其测量为微秒将毫无意义。