在Web浏览器中收集有关事件循环的信息

时间:2015-01-05 17:42:32

标签: javascript

以下代码在控制台中显示请求的间隔与实际间隔之间的差异。

这是否使我们能够对事件循环的长度说出任何有意义的事情(从广义上讲,我对个别滴答声不是很感兴趣)?如果是这样,是什么?

var start, interval;

interval = 2000; // ms

function go() {
    start = performance.now();

    setTimeout(function() {
        var end = performance.now();
        console.log(end-start-interval);
        go();
    }, interval);
}
go();

1 个答案:

答案 0 :(得分:2)

它没有。

原因之一是:一旦执行程序空闲,将调度回调。它可能是"所有的时间",除了一个案例,其中另一个回调可能恰好在你之前安排并接管执行,无论它想要多长时间。

在这种情况下,你的回调可能会延迟一段无限的时间,但这并没有告诉你关于"稳定状态"情况。