XMLHttpRequest:timeout 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

XMLHttpRequest.timeout 属性是一个 unsigned long,表示请求在自动终止之前可以花费的毫秒数。默认值为 0,表示没有超时。超时不应用于在文档环境中使用的同步 XMLHttpRequest 请求,否则会抛出 InvalidAccessError 异常。发生超时时,会触发一个 timeout 事件。

注意: 对于拥有窗口的同步请求,不能使用超时。

将超时与异步请求一起使用.

示例

js
const xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

xhr.timeout = 2000; // time in milliseconds

xhr.onload = () => {
  // Request finished. Do processing here.
};

xhr.ontimeout = (e) => {
  // XMLHttpRequest timed out. Do something here.
};

xhr.send(null);

规范

规范
XMLHttpRequest
# the-timeout-attribute

浏览器兼容性