You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取XMLHttpRequest请求的响应时长?

你只需要在请求发起前记录起始时间戳,待请求完成后用结束时间戳减去起始时间戳,就能得到请求的响应时长,修改后的代码如下:

let xhttp = new XMLHttpRequest();
// 记录请求发起前的时间戳
const requestStartTime = Date.now();

xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        // 请求完成时计算时间差,单位为毫秒
        const responseDuration = Date.now() - requestStartTime;
        console.log(`请求响应时长为:${responseDuration}ms`);
        // 后续处理响应的逻辑写在这里
    }
};
xhttp.open("GET", "你的实际请求地址", true);
// 注意时间戳记录要在send方法调用之前
xhttp.send();
  • 上述方案统计的是从请求发起前到收到完整响应的总耗时,就是常规场景下的接口响应时长
  • 如果需要更高精度的时间统计,可以把Date.now()替换为performance.now(),后者可以提供微秒级的时间精度
  • 如果你需要拆分统计请求各阶段耗时(比如DNS查询、TCP连接建立、首包响应时间等),可以调用浏览器Performance API获取更细维度的请求时序数据

内容的提问来源于stack exchange,提问作者culldog88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:06:03