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

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

Das Ereignis timeout wird ausgelöst, wenn der Vorgang wegen Überschreitung der festgelegten Zeitspanne beendet wird.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
ontimeout = (event) => { }

Ereignistyp

Ein ProgressEvent. Erbt von Event.

Event ProgressEvent

Beispiele

Verwendung mit XMLHttpRequest

Verwenden Sie die Event-Handler-Eigenschaft ontimeout (beachten Sie jedoch, dass dadurch andere gegebenenfalls über ontimeout hinzugefügte Event-Listener ersetzt werden):

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

client.send();

Sie können den Event-Handler auch mit der Methode addEventListener() einrichten:

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

Verwendung mit XMLHttpRequestUpload

Mit dem Ereignis timeout können Sie erkennen, ob ein Upload beendet wurde, weil er zu langsam war. Ein vollständiges Codebeispiel, das eine Datei hochlädt und einen Fortschrittsbalken anzeigt, finden Sie auf der Hauptseite zu XMLHttpRequestUpload.

Die Zeitüberschreitung wird über die Eigenschaft XMLHttpRequest.timeout des Objekts XMLHttpRequest festgelegt.

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

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

Browser-Kompatibilität

api.XMLHttpRequest.timeout_event

api.XMLHttpRequestUpload.timeout_event

Siehe auch