DOM | Интерфейс AbortSignal

IDL

[Exposed=( Window , Worker )]
interface AbortSignal : EventTarget {
   readonly attribute boolean aborted;

   attribute EventHandler onabort;
};

Для веб разработчиков (не нормативно)

signal . aborted

Возвращает true, если AbortController этого AbortSignal сигнализирует об отмене, и false в противном случае.

 

У объекта AbortSignal есть связанный «флаг прерывания» (aborted flag). Он не установлен, если не указано иное.

С объектом AbortSignal связаны «алгоритмы прерывания» (abort algorithms), которые представляют собой набор алгоритмов, которые должны выполняться, когда установлен его флаг прерывания. Если не указано иное, его значением является пустой набор.

 

Чтобы «добавить» (add) алгоритм algorithm к signal объекта AbortSignal, выполните следующие действия:

1. Если установлен флаг прерывания сигнала signal, вернитесь.
2. Добавить algorithm к алгоритмам прерывания сигнала signal.

 

Чтобы «удалить» (remove) алгоритм algorithm из сигнала AbortSignal, удалите algorithm из алгоритмов прерывания сигнала signal.

Примечание Алгоритмы прерывания позволяют API со сложными требованиями разумно реагировать на abort(). Например, флаг прерывания данного API может потребоваться распространить в среду с несколькими потоками, такую как сервис-воркер.

 

Шаги получателя aborted должны вернуть истину, если установлен прерванный флаг этого this; в противном случае — ложь.

Атрибут onabort — это IDL-атрибут обработчика событий для обработчика события onabort, чей тип события обработчика события — это abort.

Примечание Изменения в объекте AbortSignal представляют пожелания соответствующего объекта AbortController, но API, наблюдающий за объектом AbortSignal, может игнорировать их. Например, если операция уже завершена.

 

Чтобы «прервать сигнал» (signal abort), учитывая signal объекта AbortSignal, выполните следующие действия:

1. Если установлен флаг прерывания сигнала signal, вернитесь.
2. Установить флаг прерывания сигнала signal.
3. Для каждого алгоритма algorithm в алгоритмах прерывания сигнала signal: запустить algorithm.
4. Опустошить алгоритмы прерывания сигнала signal.
5. Запустить события с именем abort по сигналу signal.

 

Последующий сигнал followingSignal (AbortSignal) заставляется «следовать» (follow) за родительским сигналом parentSignal (AbortSignal), выполнив следующие шаги:

1. Если установлен флаг прерывания followingSignal, то вернитесь.
2. Если установлен флаг прерывания parentSignal, то сигнал прерывается при followingSignal.
3. В противном случае добавьте следующие шаги прерывания в parentSignal:
   1. Прерывание сигнала при followingSignal.

 

Ссылки

DOM стандарт — https://efim360.ru/dom/

Читайте перевод полной версии стандарта «объектной модели документа», чтобы ознакомиться со всеми концепциями и интерфейсами.

DOMLiving Standardhttps://dom.spec.whatwg.org

Читайте официальную документацию живого стандарта «объектной модели документа», чтобы быть в курсе последних изменений.

Поделись записью