AbortController y AbortSignal son globales que usan Fetch, los temporizadores,
los flujos y los listeners de eventos.
const controller = new AbortController();
controller.signal.aborted; // false
controller.abort();
controller.signal.aborted; // true
controller.signal.reason.name; // "AbortError"AbortController
controller.signaldevuelve la misma señal en cada lectura.abort(reason?)es idempotente y despachaabortuna sola vez.- Sin motivo, la señal almacena una
DOMExceptionAbortError.
AbortSignal
| Miembro | Propósito |
|---|---|
aborted | Si se produjo la cancelación. |
reason | El motivo indicado o un AbortError predeterminado. |
throwIfAborted() | Lanza el motivo si se ha abortado. |
onabort | Manejador único del evento abort. |
AbortSignal. | Crea una señal ya abortada. |
AbortSignal. | Se aborta cuando se aborta cualquiera de las entradas. |
AbortSignal.timeout(ms) | Se aborta más tarde con TimeoutError. |
AbortSignal no se puede construir directamente.
Listeners de eventos
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); // 1Una señal ya abortada impide el registro. Un valor que no sea AbortSignal en
la opción signal se ignora.
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 |