测量响应的延迟

Measure latency of the response

如何测量任何异步 ajax 调用的延迟!!
是否有任何特定的库或 api 可用于从浏览器中提取所有这些信息
我一直在寻找可以在 IE6

上 运行 的解决方案

您可以在浏览器的控制台中查看

或者您可以检查时间,如果您像这样包围您的请求函数,例如:

function sendRequest(url) {
    var startTime = new Date(); //start time
    $.ajax({
        //your request here
        ,done: {
            var endTime = new Date(); //end time
            console.log("Request took " + (endTime-startTime) + " ms.");
        }
    }
}

关于异步调用,看你需要什么。如果您需要完整的执行周期(请求在客户端构建、发送请求、服务器端操作、接收数据、处理响应),那么您可以采用相同的方式进行,但您必须确保测量相同的操作,在其他词从头到尾匹配,并确保它们对应。尽管基于我们正在谈论 异步 请求这一事实,您应该只测量请求 离开 客户端之前的部分。这取决于您的应用程序是如何实现的。

以下代码包含一个ajax函数

还有一个函数来衡量获得响应所需的时间。

这可以通过 Date 对象来完成,但是如果您想要精确的输出,我会告诉您一个更好的方法。这仅适用于现代浏览器。

https://developer.mozilla.org/en-US/docs/Web/API/Performance/now

//Ajax XHR2

function ajax(a,b,c){ // Url, Callback, just a placeholder
 c=new XMLHttpRequest;
 c.open('GET',a);
 c.onload=b;
 c.send()
}

// Measuring the time in microseconds it takes to make the request.

var start;
function measure(){
 start=window.performance.now();
 ajax('URL',function(){
  var Delay=window.performance.now()-start;
  alert(Delay);
 });
}
measure()

返回值以毫秒为单位。或者将 window.performance.now() 替换为 Date.now().

通过更改 ajax 函数,还可以使用 onreadystatechange.

为 ajax 调用 does.This 的各个进程计时

有什么问题尽管问。