Клиентская библиотека Azure Core LRO для JavaScript — версия 3.4.0

Это реализация длительных операций в клиентских библиотеках JavaScript пакета SDK Azure по умолчанию, которые работают как в браузере, так и в NodeJS. Эта библиотека в первую очередь предназначена для использования в коде, сгенерируемом эмиттером TypeSpec@azure-tools/typespec-ts .

@azure/core-lro следует рекомендациям по проектированию пакета SDK Azure для длительных операций

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

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

Поддерживаемые в настоящее время среды

Установка

Этот пакет в основном используется в созданном коде и не предназначен для использования непосредственно конечными пользователями.

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

PollerLike

Опрашиватель — это объект, который может опрашивать длинную операцию на сервере до тех пор, пока не достигнет состояния терминала. Он также расширяет Promise<TResult>, так что вы можете await напрямую получить итоговый результат. Он предоставляет следующее:

  • operationState: свойство, возвращающее текущее состояние операции, типизированное как тип, расширяющий OperationState. Это undefined если опросник ещё не подан.
  • result: свойство, которое возвращает результат операции при её завершении и undefined в противном случае
  • isDone: свойство, которое возвращает, находится ли операция в терминальном состоянии
  • onProgress: регистрирует функции обратного вызова, которые будут вызываться каждый раз при получении ответа на опрос
  • poll: отправляет один запрос опроса
  • pollUntilDone: возвращает обещание, которое будет разрешаться с результатом операции
  • serialize: возвращает обещание, которое разрешается в сериализованное представление состояния опросчика
  • submitted: возвращает обещание, которое разрешается после успешной подачи опроса

OperationState

Тип состояния операции. Он содержит поле со следующими возможными status значениями: notStarted, running, , succeededfailedи canceled. Доступ к нему можно получить следующим образом:

switch (poller.operationState?.status) {
  case "succeeded": // return poller.result;
  case "failed": // throw poller.operationState?.error;
  case "canceled": // throw new Error("Operation was canceled");
  case "running": // ...
  case "notStarted": // ...
}

createHttpPoller

Функция, возвращающая объект типа PollerLike. Этот опрос ведет себя следующим образом в присутствии ошибок:

  • poll вызовы и pollUntilDone будут вызывать ошибку в случае сбоя операции или отмены, если resolveOnUnsuccessful параметр не был задан как true.
  • poller.operationState?.status будет установлена в "failed" или "canceled" когда операция не выполняется или возвращает ответ на ошибку.

Примеры

Примеры можно найти в папке samples.

Устранение неполадок

Лесозаготовка

Журналы можно добавлять по усмотрению библиотеки, реализуя средство опроса длительных операций. Пакеты в azure-sdk-for-js используют @azure/loger.

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

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

Вклад

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

Тестирование

Чтобы запустить наши тесты, сначала установите зависимости (с помощью pnpm install), а затем запустите модульные тесты с помощью: pnpm run test:node.

Кодекс поведения

Этот проект принял Microsoft Open Source Code of Conduct. Для получения дополнительной информации см. FAQ о кодексе поведения, или свяжитесь с opencode@microsoft.com по любым дополнительным вопросам или комментариям.