navigation Navigation


AbortController - Constructor


Der AbortController-Konstruktor erzeugt ein neues AbortController-Objekt, das in modernen Web-Anwendungen zur kontrollierten Unterbrechung von Netzwerkanfragen und anderen asynchronen Operationen dient. Mit dieser leistungsstarken Schnittstelle können Entwickler Ressourcen effizient verwalten, indem sie nicht mehr benötigte Prozesse gezielt abbrechen. Das zugehörige Signal-Objekt bildet dabei die Kernkomponente für die Kommunikation des Abbruchstatus an verschiedene Web-API-Funktionen.

Inhaltsverzeichnis

    Einführung

    Der AbortController ist eine Web-API, die eine standardisierte Möglichkeit bietet, asynchrone Operationen abzubrechen.

    Stellen wir uns vor, wir starten einen langwierigen Prozess, wie das Herunterladen einer großen Datei oder einen komplexen API-Aufruf, und der Benutzer entscheidet sich, die Aktion abzubrechen, bevor sie abgeschlossen ist. Hier kommt der AbortController ins Spiel.

    Ein AbortController ermöglicht es, ein Signal (AbortSignal) zu erzeugen und zu verwalten, das verwendet werden kann, um eine oder mehrere DOM-Anfragen oder andere asynchrone Prozesse zu benachrichtigen, dass sie abgebrochen werden sollen.

    Welche Vorteile kann es haben?

    • Benutzerfreundlichkeit: Ermöglicht es Benutzern, langlaufende Operationen abzubrechen.
    • Ressourcenmanagement: Verhindert unnötige Verarbeitung und Netzwerkaktivität, wenn das Ergebnis nicht mehr benötigt wird. Das spart Rechenleistung auf dem Client und Server sowie Bandbreite.
    • Vermeidung von Race Conditions: In Szenarien, in denen mehrere Anfragen gesendet werden und nur die letzte relevant ist (z.B. bei einer Live-Suche), können vorherige Anfragen abgebrochen werden.

    Grundlegender Arbeitsablauf ist wie folgt:

    1. Man erzeugt eine Instanz des AbortControllers.
    2. Man greift auf dessen signal Eigenschaft zu. Dieses AbortSignal Objekt wird an die asynchrone(n) Operation(en) übergeben, die man potenziell abbrechen möchte.
    3. Wenn man die Operation(en) abbrechen möchte, ruft man die abort() Methode des AbortController Objekts auf.
    4. Die asynchrone Operation, die das Signal überwacht, erkennt das Abbruchsignal und beendet ihre Ausführung entsprechend.

    Konstruktor

    Der Konstruktor AbortController() erstellt, wie der Name schon sagt, ein neues AbortController Objekt. Es ist der Ausgangspunkt für die Verwendung dieser API.

    Syntax

    const controller = new AbortController();

    Rückgabewert

    Eine neue AbortController Instanz. Diese Instanz hat zwei wichtige Eigenschaften.

    • signal: Ein AbortSignal Objekt, das zum Übermitteln des Abbruchsignals dient
    • abort(): Eine Methode, um das Signal auszulösen

    Der Konstruktor wird ohne Argumente aufgerufen. Nachdem eine Instanz erstellt wurde, kann ihr signal Objekt an APIs übergeben werden, die Abbruchsignale unterstützen (wie z.B. die fetch API).

    So sieht ein AbortController Objekt aus, nachdem es erstellt wurde.

    Web API - AbortController - Constructor - Beispiel