Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

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

ontimeout = (event) => { }

Ereignistyp

Ein ProgressEvent. Erbt von Event.

Event ProgressEvent

Ereigniseigenschaften

Zusätzlich zu den unten aufgeführten Eigenschaften sind Eigenschaften der Elternschnittstelle, Event, verfügbar.

lengthComputable Schreibgeschü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.

loaded Schreibgeschü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 total geteilt 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.

total Schreibgeschü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

js
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:

js
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.

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);

Spezifikationen

Specification
XMLHttpRequest
# event-xhr-timeout
XMLHttpRequest
# handler-xhr-ontimeout

Browser-Kompatibilität

api.XMLHttpRequest.timeout_event

api.XMLHttpRequestUpload.timeout_event

Siehe auch