XMLHttpRequestUpload: timeout-Ereignis

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.

Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Service Workers.

Das timeout-Ereignis wird ausgelöst, wenn der Fortschritt aufgrund einer voreingestellten Zeitüberschreitung beendet wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

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

ontimeout = (event) => {};

Ereignistyp

Ereigniseigenschaften

Zusätzlich zu den unten aufgeführten Eigenschaften sind auch Eigenschaften von der Schnittstelle Event verfügbar.

lengthComputable Nur lesbar

Ein boolescher Wert, der anzeigt, ob das gesamte zu erledigende Arbeitspensum und die bereits geleistete Arbeit des zugrunde liegenden Prozesses berechenbar ist. Mit anderen Worten sagt es aus, ob der Fortschritt messbar ist oder nicht.

loaded Nur lesbar

Ein 64-Bit-unsigned Integer-Wert, der angibt, wie viel Arbeit vom zugrunde liegenden Prozess bereits ausgeführt wurde. Das Verhältnis der erledigten Arbeit kann berechnet werden, indem man total durch den Wert dieser Eigenschaft teilt. Beim Herunterladen einer Ressource über HTTP wird dabei nur der Körper der HTTP-Nachricht gezählt und nicht die Header und andere Überkopfkosten.

total Nur lesbar

Ein 64-Bit-unsigned Integer, der die Gesamtmenge der Arbeit darstellt, die der zugrunde liegende Prozess auszuführen hat. Beim Herunterladen einer Ressource über HTTP ist dies die Content-Length (die Größe des Nachrichtentextes) und umfasst nicht die Header und andere Überkopfkosten.

Beispiele

Verwendung des timeout-Ereignisses

Sie können das timeout-Ereignis verwenden, um einen Upload zu erkennen, der gestoppt wurde, weil er zu langsam war. Ein vollständiges Codebeispiel, das den Upload einer Datei und die Anzeige einer Fortschrittsanzeige zeigt, finden Sie auf der Hauptseite von XMLHttpRequestUpload.

Das Timeout wird am XMLHttpRequest-Objekt mit der XMLHttpRequest.timeout Eigenschaft festgelegt.

js
// In case of an 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 Standard
# event-xhr-timeout
XMLHttpRequest Standard
# handler-xhr-ontimeout

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch