XMLHttpRequest.timeout
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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 ou uma exceção do tipo InvalidAccessError
será lançada. Quando um timeout ocorre, o evento timeout é 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
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