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

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
# the-timeout-attribute

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
timeout

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Has more compatibility info.