XMLHttpRequest.timeout

A propriedade XMLHttpRequest.timeout é um unsigned long que representa o número de milisegundos que uma requisição deve esperar até ser automaticamente terminada. O valor padrão para essa propriedade é 0, o que significa que o navegador deverá esperar uma resposta indefinidamente. A propriedade Timeout não deveria ser usada para requisições XMLHttpRequests síncronas em um document environment (en-US) ou uma exceção do tipo InvalidAccessError será lançada. Quando um timeout ocorre, o evento timeout (en-US) é disparado.

Nota: Você não pode usar um timeout para requisições síncronas dentro de uma janela.

Utilizando um timeout com uma requisição assíncrona

No Internet Explorer, a propriedade timeout pode ser usada apenas depois de o método open() ter sido invocado e antes de se chamar o método send().

Exemplo

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

xhr.timeout = 2000; // tempo em milisegundos

xhr.onload = function () {
  // Requisição finalizada. O processamento deve ser colocado aqui.
};

xhr.ontimeout = function (e) {
  // Timeout na chamada XMLHttpRequest. Ação de timeout aqui.
};

xhr.send(null);

Especificações

Specification
XMLHttpRequest Standard
# the-timeout-attribute

Compatibilidade com navegadores

BCD tables only load in the browser