XMLHttpRequest:超时事件

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用: 2015 年 7 月.

注意:此功能在 Web 工作线程 中可用,但 服务工作线程 除外。

timeout 事件在预设时间到期导致进度终止时触发。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("timeout", (event) => {});

ontimeout = (event) => {};

事件类型

事件属性

除了下面列出的属性之外,父接口 Event 的属性也可用。

lengthComputable 只读

一个布尔标志,指示基础进程要完成的总工作量以及已完成的工作量是否可计算。换句话说,它告诉进度是否可衡量。

loaded 只读

一个 64 位无符号整数,指示基础进程已执行的工作量。已完成的工作比例可以通过将此属性的值除以 total 来计算。在使用 HTTP 下载资源时,这仅计算 HTTP 消息的主体,不包括标头和其他开销。

total 只读

一个 64 位无符号整数,表示基础进程正在执行的总工作量。在使用 HTTP 下载资源时,这是 Content-Length(消息主体的尺寸),不包括标头和其他开销。

示例

js
const client = new XMLHttpRequest();
client.open("GET", "http://www.example.org/example.txt");
client.ontimeout = () => {
  console.error("Timeout!!");
};

client.send();

您还可以使用 addEventListener() 方法设置事件处理程序

js
client.addEventListener("timeout", () => {
  console.error("Timeout!!");
});

规范

规范
XMLHttpRequest 标准
# event-xhr-timeout
XMLHttpRequest 标准
# handler-xhr-ontimeout

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅