AbortController und AbortSignal sind Globals, die von Fetch, Timern, Streams und
Event-Listenern verwendet werden.
const controller = new AbortController();
controller.signal.aborted; // false
controller.abort();
controller.signal.aborted; // true
controller.signal.reason.name; // "AbortError"AbortController
controller.signalliefert bei jedem Lesen dasselbe Signal.abort(reason?)ist idempotent und löstaborteinmal aus.- Ohne Grund speichert das Signal eine
DOMExceptionvom TypAbortError.
AbortSignal
| Mitglied | Zweck |
|---|---|
aborted | Ob ein Abbruch erfolgt ist. |
reason | Der übergebene Grund oder ein standardmäßiger AbortError. |
throwIfAborted() | Den Grund werfen, wenn abgebrochen. |
onabort | Einzelner Handler für das Abort-Ereignis. |
AbortSignal. | Ein bereits abgebrochenes Signal erstellen. |
AbortSignal. | Abbrechen, wenn eine beliebige Eingabe abbricht. |
AbortSignal.timeout(ms) | Später mit TimeoutError abbrechen. |
AbortSignal kann nicht direkt konstruiert werden.
Event-Listener
const target = new EventTarget();
const controller = new AbortController();
let calls = 0;
const onMessage = () => {
calls += 1;
};
target.addEventListener("message", onMessage, {
signal: controller.signal,
});
target.dispatchEvent(new Event("message"));
controller.abort(); // removes the listener
target.dispatchEvent(new Event("message"));
console.log(calls); // 1Ein bereits abgebrochenes Signal verhindert die Registrierung. Ein Wert in der Option
signal, der kein AbortSignal ist, wird ignoriert.
Reference
Status: Full · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
AbortController | class | Full | signal, abort() |
AbortSignal | class | Full | AbortSignal.abort(), AbortSignal.timeout(), AbortSignal.any(), aborted, reason, throwIfAborted(), onabort |