XMLHttpRequestEventTarget: timeout event

Note: This feature is available in Web Workers, except for Service Workers.

The timeout event is fired when progression is terminated due to preset time expiring.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("timeout", (event) => { })

ontimeout = (event) => { }

Event type

A ProgressEvent. Inherits from Event.

EventProgressEvent

Examples

undefined

Usage with XMLHttpRequest

js
const client = new XMLHttpRequest();
client.open("GET", "http://www.example.org/example.txt");
client.ontimeout = () => {
  console.error("Timeout!!");
};

client.send();

You could also set up the event handler using the addEventListener() method:

js
client.addEventListener("timeout", () => {
  console.error("Timeout!!");
});

Usage with XMLHttpRequestUpload

You can use the timeout event to detect an upload that stopped because it was too slow. For a complete code example that uploads a file and displays a progress bar, see the main XMLHttpRequestUpload page.

The timeout is set on the XMLHttpRequest object using the XMLHttpRequest.timeout property.

js
// In case of a timeout we hide the progress bar
// Note that this event can be listened to on the xhr object too
function errorAction(event) {
  progressBar.classList.remove("visible");
  log.textContent = `Upload failed: ${event.type}`;
}
xhr.upload.addEventListener("timeout", errorAction);

Specifications

Browser compatibility

undefined

See also