Azure Abort Controller клиентская библиотека для JavaScript — версия 2.2.0

Пакет @azure/abort-controller предоставляет AbortSignalLike интерфейс и AbortError классы, которые облегчают работу с AbortController и AbortSignal используют для извлечения , встроенные в современные JavaScript-платформы.

Клиентам Azure SDK для JavaScript в целом не обязательно использовать эту библиотеку. Вместо этого они используют AbortController и AbortSignal предоставляются своими платформами и передают сигналы прекращения операций Azure SDK.

Ключевые ссылки:

Начало работы

Installation

Установите эту библиотеку с помощью npm следующим образом

npm install @azure/abort-controller

Основные понятия

Используйте AbortController для создания , AbortSignal которое затем можно передать операциям Azure SDK для отмены ожидающей работы. Доступ AbortSignal к нему доступен через signal объект на AbortControllerинстанционном . An AbortSignal также может быть возвращен напрямую статическим методом, например, AbortSignal.timeout(100). это отменяется через 100 миллисекунд.

Примеры

Приведённые ниже примеры предполагают, что doAsyncWork — функция, принимающая пакет свойств, одно из которых принадлежит сигналу прекращения.

Пример 1 — базовое использование

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const controller = new AbortController();
doAsyncWork({ abortSignal: controller.signal });

// at some point later
controller.abort();

Пример 2 — Прекращение работы с тайм-аутом

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const signal = AbortSignal.timeout(1000);
doAsyncWork({ abortSignal: signal });

Дальнейшие действия

Вы можете создать и запустить тесты локально, выполнив npm run test. Изучите папку test, чтобы просмотреть расширенное использование и поведение общедоступных классов.

Troubleshooting

Если у вас возникнут проблемы при использовании этой библиотеки, пожалуйста, не стесняйтесь подать подавать проблему.

Contributing

Если вы хотите внести свой вклад в эту библиотеку, ознакомьтесь с руководством по вкладу, чтобы узнать больше о том, как создавать и тестировать код.