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

View in English Always switch to English

AbortSignal: throwIfAborted() Methode

Baseline
Weitgehend verfügbar

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

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die throwIfAborted()-Methode wirft den Abbruch-Grund des Signals, wenn das Signal abgebrochen wurde; andernfalls tut sie nichts.

Eine API, die das Abbrechen unterstützen muss, kann ein AbortSignal-Objekt akzeptieren und throwIfAborted() verwenden, um zu testen und auszulösen, wenn das abort-Ereignis signalisiert wird.

Diese Methode kann auch verwendet werden, um Operationen an bestimmten Stellen im Code abzubrechen, anstatt sie an Funktionen zu übergeben, die ein Signal verarbeiten.

Syntax

js
throwIfAborted()

Parameter

Keine.

Rückgabewert

Keiner (undefined).

Beispiele

Die folgenden Beispiele stammen aus der Spezifikation.

Abbrechen einer Polling-Operation

Dieses Beispiel zeigt, wie Sie throwIfAborted() verwenden können, um eine Polling-Operation abzubrechen.

Betrachten Sie eine asynchrone waitForCondition()-Funktion, die mit einer anderen asynchronen Funktion func, einem Zielwert targetValue und einem AbortSignal aufgerufen wird. Die Methode vergleicht das Ergebnis von func mit targetValue in einer Schleife und gibt zurück, wenn sie übereinstimmen.

js
async function waitForCondition(func, targetValue, { signal } = {}) {
  while (true) {
    signal?.throwIfAborted();

    const result = await func();
    if (result === targetValue) {
      return;
    }
  }
}

Bei jeder Iteration der Schleife verwenden wir throwIfAborted(), um den Grund des Signals zu werfen, wenn die Operation abgebrochen wurde (und ansonsten nichts zu tun). Wenn das Signal abgebrochen wird, wird dadurch das waitForCondition()-Versprechen abgelehnt.

Spezifikationen

Spezifikation
DOM
# ref-for-dom-abortsignal-throwifaborted①

Browser-Kompatibilität

Siehe auch