Клиентская библиотека Azure Core LRO для JavaScript версии 2.7.2
Это реализация длительных операций по умолчанию в клиентских библиотеках JavaScript пакета Azure SDK, которые работают как в браузере, так и в NodeJS. Эта библиотека в первую очередь предназначена для использования в коде, созданном AutoRest и autorest.typescript
.
@azure/core-lro
в соответствии с рекомендациями по проектированию пакета Azure SDK для длительных операций
Основные ссылки:
Начало работы
Поддерживаемые в настоящее время среды
- LTS версии Node.js
- Последние версии Safari, Chrome, Edge и Firefox.
Установка
Этот пакет в основном используется в созданном коде и не предназначен для непосредственного использования конечными пользователями.
Основные понятия
SimplePollerLike
Опрашиватель — это объект, который может опрашивать долго выполняющуюся на сервере операцию на предмет ее состояния до тех пор, пока она не достигнет конечного состояния. Он предоставляет следующие методы:
getOperationState
: возвращает состояние операции, типизированной как тип, расширяющийOperationState
getResult
: возвращает результат операции после ее завершения иundefined
в противном случае.isDone
: возвращает значение, указывающее, находится ли операция в состоянии терминала.isStopped
: возвращает значение, указывающее, остановлено ли опрос.onProgress
: регистрирует функции обратного вызова для вызова при каждом получении ответа опроса.poll
: отправляет один запрос опроса.pollUntilDone
: возвращает обещание, которое будет разрешаться в результате операции.stopPolling
: останавливает опрос;toString
: сериализует состояние средства опроса.
OperationState
Тип для состояния операции. Он содержит поле со следующими возможными значениями status
: notStarted
, running
, succeeded
, failed
и canceled
. Доступ к нему можно получить следующим образом:
switch(poller.getOperationState().status) {
case "succeeded": // return poller.getResult();
case "failed": // throw poller.getOperationState().error;
case "canceled": // throw new Error("Operation was canceled");
case "running": // ...
case "notStarted": // ...
}
createHttpPoller
Функция, возвращающая объект типа SimplePollerLike
. При наличии ошибок этот опрашиватель ведет себя следующим образом:
poll
Вызовы иpollUntilDone
будут выдавать ошибку в случае сбоя или отмены операции, еслиresolveOnUnsuccessful
для параметра не задано значение true.poller.getOperationState().status
Будет задано значение true при сбое операции или при возврате ответа об ошибке.
Примеры
Примеры можно найти в папке samples
.
Устранение неполадок
Ведение журнала
Журналы могут добавляться по усмотрению библиотеки, реализуя средство опроса длительных операций. Пакеты в azure-sdk-for-js используют @azure/logger.
Дальнейшие действия
Подробные примеры использования этой библиотеки см. в каталоге примеров .
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Тестирование
Чтобы запустить наши тесты, сначала установите зависимости (с npm install
или rush install
), а затем запустите модульные тесты с помощью: npm run unit-test
.
Правила поведения
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.
Azure SDK for JavaScript