XMLHttpRequestEventTarget: timeout event
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.
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.
addEventListener("timeout", (event) => { })
ontimeout = (event) => { }
Event type
A ProgressEvent. Inherits from Event.
Examples
>Usage with XMLHttpRequest
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:
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.
// 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
| Specification |
|---|
| XMLHttpRequest> # event-xhr-timeout> |
| XMLHttpRequest> # handler-xhr-ontimeout> |