Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/abort-controller

Что такое `AbortController` и `AbortSignal`?

УглублённыйАсинхронность

AbortController — механизм для отмены асинхронных операций.

  • controller.signal — объект AbortSignal, передаётся в отменяемую операцию
  • controller.abort(reason) — отменяет операцию
const controller = new AbortController();
fetch('/api/data', { signal: controller.signal })
    .catch(err => {
        if (err.name === 'AbortError') console.log('Запрос отменён');
    });
controller.abort(); // отменяет fetch
  • AbortSignal.timeout(ms) — создаёт signal, который автоматически отменяется через ms
  • AbortSignal.any(signals) — отменяется при срабатывании любого из signals (ES2024)
  • Работает с: fetch, addEventListener, ReadableStream, WritableStream
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov