在 Web 浏览器中收集有关事件循环的信息
Gathering information about the event loop in a web browser
以下代码在控制台中显示请求的间隔与实际间隔之间的差异。
这是否使我们能够对事件循环的长度说出任何有意义的话(从广义上讲,我对单个即时报价不是很感兴趣)?如果是这样,怎么办?
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();
它没有。
其中一个原因是:回调将被安排在执行程序空闲后运行。它可能是"一直",除了一种情况,另一个回调可能会碰巧在你的回调之前被安排,并接管执行多长时间。
在这种情况下,您的回调可能会延迟无限的时间,但这不会告诉您有关"稳定状态"情况的信息。
相关文章:
- 事件循环、回调队列和 Javascript 的单线程是如何连接的
- JavaScript运行时事件循环现有技术
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 页面卸载期间的JavaScript事件循环
- Node.js阻止事件循环
- 了解执行模型和事件循环
- 什么是“;Promise在事件循环的同一个循环上点火“;意思是
- JS调试器是否挂起整个JS事件循环
- js事件循环是否意味着可以为临时暂存空间使用全局变量
- 在 Web 浏览器中收集有关事件循环的信息
- 检测事件循环“滞后”
- “旋转事件循环”是什么意思
- 如何在 nodejs 中维护事件循环中的持久数据
- DOMNode插入的事件循环
- Javascript事件循环任务队列溢出是否可能
- JavaScript 中的事件处理程序如何由事件循环处理
- Node.js 不是文件上传(以及所有基于事件循环的语言)的好选择 - 这是真的
- 为什么 while 循环会阻塞事件循环
- node.js事件循环何时终止
- C#“;事件循环”;与JavaScript“相比较;事件循环”;