衡量Ajax请求的轮询时间的一种简单方法是测量请求开始和结束之间的时间(readyState 4)。这种测量存在许多例子。
但这种测量并不准确。只有在浏览器事件循环中出现时,才会调用Ajax回调。这意味着如果中间存在一些阻塞操作,则测量还将包含一些客户端处理时间,而不是实际的服务器往返时间(服务器处理时间+网络时间)。
我知道现在可以通过资源计时API规范获得此类功能,但目前并未在所有浏览器中一致地实现此功能。
有没有其他方法可以找出真正的往返时间或时间戳,服务器响应可用并等待相应的回调执行?
答案 0 :(得分:0)
您可以使用 navigator.connection.rtt
获取当前连接的估计有效往返时间,四舍五入到最接近的 25 毫秒倍数。
const estimated_round_trip_time = navigator.connection.rtt;
console.log(estimated_round_trip_time);
注意:在发布时,navigator.connection.rtt
仍被视为实验性技术。预计行为会在未来发生变化,并在您的应用程序中使用它之前谨慎行事。见Browser Compatibility。