2

测量 Ajax 请求的roundtip-time 的一种简单方法是测量请求开始和结束之间的时间(readyState 4)。这种测量有很多例子。

但这种测量并不真正准确。只有在浏览器事件循环中出现 Ajax 回调时,才会调用它。这意味着,如果中间有一些阻塞操作,测量也将包含一些客户端处理时间,而不是实际的服务器往返时间(服务器处理时间 + 网络时间)。

我知道这种功能现在可以通过 Resource Timing API Specification 获得,但目前它并没有在所有浏览器中一致地实现。

有没有其他方法可以找出真正的往返时间或时间戳,服务器响应可用并等待相应的回调执行?

4

1 回答 1

0

网络信息.rtt

您可以使用navigator.connection.rtt来获取当前连接的估计有效往返时间,四舍五入到最接近的 25 毫秒的倍数。

const estimated_round_trip_time = navigator.connection.rtt;

console.log(estimated_round_trip_time);

注意:在发布时,navigator.connection.rtt仍被认为是实验技术。预计未来行为会发生变化,并在您的应用程序中使用它之前谨慎行事。请参阅浏览器兼容性

于 2021-03-04T03:54:12.443 回答