--- title: XMLHttpRequest.timeout slug: Web/API/XMLHttpRequest/timeout tags: - AJAX - Propiedad - Referencia - XHR - XHR asincrónico - XMLHttpRequest - XMLHttpRequest asincrónico - tiempo de espera - timeout translation_of: Web/API/XMLHttpRequest/timeout ---
{{APIRef('XMLHttpRequest')}}

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 {{Glossary('document environment')}}, pues generará una excepción InvalidAccessError. Cuando ocurre un tiempo de espera, se dispara un evento timeout. {{gecko_minversion_inline("12.0")}}

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

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 Estado Comentario
{{SpecName('XMLHttpRequest', '#the-timeout-attribute')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

Compatibilidad con navegadores

{{Compat("api.XMLHttpRequest.timeout")}}