Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

XMLHttpRequest.timeout

Baseline
Ampliamente disponible

Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde julio de 2015.

La propiedad XMLHttpRequest.timeout es un unsigned long que representa el número de milisegundos que puede tomar una solicitud antes de que se finalice automáticamente. El valor por defecto es 0, lo que significa que no hay tiempo de espera (timeout). Timeout no debe utilizarse para solicitudes XMLHttpRequests sincrónicas usadas en un document environment, pues generará una excepción InvalidAccessError. Cuando ocurre un tiempo de espera, se dispara un evento timeout.

Nota: No puede usar un timeout para solicitudes sincrónicas con una ventana propietaria (owning window).

Uso de timeout con una solicitud asincrónica

En Internet Explorer, la propiedad timeout se puede establecer solo después de llamar al método open() y antes de llamar al método send().

Ejemplo

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

xhr.timeout = 2000; // tiempo en milisegundos

xhr.onload = function () {
  // Solicitud finalizada. Haz el procesamiento aquí.
};

xhr.ontimeout = function (e) {
  // Tiempo de espera del XMLHttpRequest agotado. Haz algo aquí.
};

xhr.send(null);

Especificaciones

Especificación
XMLHttpRequest
# the-timeout-attribute

Compatibilidad con navegadores