XMLHttpRequestEventTarget: timeout-Ereignis
Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.
Das timeout-Ereignis wird ausgelöst, wenn der Fortschritt aufgrund einer abgelaufenen Vorgabezeit eingestellt wird.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("timeout", (event) => { })
ontimeout = (event) => { }
Ereignistyp
Ein ProgressEvent. Erbt von Event.
Ereigniseigenschaften
Zusätzlich zu den unten aufgeführten Eigenschaften sind Eigenschaften der Elternschnittstelle, Event, verfügbar.
lengthComputableSchreibgeschützt-
Ein boolesches Flag, das anzeigt, ob die gesamte auszuführende Arbeit und der bereits vom zugrundeliegenden Prozess geleistete Arbeitsumfang berechenbar sind. Mit anderen Worten, es zeigt an, ob der Fortschritt messbar ist oder nicht.
loadedSchreibgeschützt-
Ein 64-Bit-Integer-Wert ohne Vorzeichen, der den bereits vom zugrundeliegenden Prozess geleisteten Arbeitsumfang angibt. Der Anteil der geleisteten Arbeit kann berechnet werden, indem der Wert dieser Eigenschaft durch
totalgeteilt wird. Beim Herunterladen einer Ressource über HTTP zählt dies nur den Hauptteil der HTTP-Nachricht und schließt Header und anderen Overhead nicht ein. totalSchreibgeschützt-
Ein 64-Bit-Integer-Wert ohne Vorzeichen, der die gesamte Arbeitsmenge repräsentiert, die der zugrundeliegende Prozess zu leisten versucht. Beim Herunterladen einer Ressource über HTTP entspricht dies der
Content-Length(der Größe des Hauptteils der Nachricht) und schließt die Header und anderen Overhead nicht ein.
Beispiele
>Verwendung mit XMLHttpRequest
const client = new XMLHttpRequest();
client.open("GET", "http://www.example.org/example.txt");
client.ontimeout = () => {
console.error("Timeout!!");
};
client.send();
Sie könnten ebenfalls den Ereignis-Handler mit der addEventListener()-Methode einrichten:
client.addEventListener("timeout", () => {
console.error("Timeout!!");
});
Verwendung mit XMLHttpRequestUpload
Sie können das timeout-Ereignis verwenden, um einen Upload zu erkennen, der gestoppt wurde, weil er zu langsam war. Für ein vollständiges Codebeispiel, das eine Datei hochlädt und eine Fortschrittsleiste anzeigt, siehe die Hauptseite von XMLHttpRequestUpload.
Das Timeout wird am XMLHttpRequest-Objekt über die XMLHttpRequest.timeout-Eigenschaft gesetzt.
// 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);
Spezifikationen
| Specification |
|---|
| XMLHttpRequest> # event-xhr-timeout> |
| XMLHttpRequest> # handler-xhr-ontimeout> |
Browser-Kompatibilität
>api.XMLHttpRequest.timeout_event
Loading…
api.XMLHttpRequestUpload.timeout_event
Loading…