Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это реализация длительных операций в клиентских библиотеках JavaScript пакета SDK Azure по умолчанию, которые работают как в браузере, так и в NodeJS. Эта библиотека в первую очередь предназначена для использования в коде, сгенерируемом эмиттером TypeSpec@azure-tools/typespec-ts .
@azure/core-lro следует рекомендациям по проектированию пакета SDK Azure для длительных операций
Ключевые ссылки:
- исходный код
- Пакет (npm)
- Справочная документация по API
- Образцы
Начало работы
Поддерживаемые в настоящее время среды
- Версии Node.js LTS
- Последние версии Safari, Chrome, Edge и Firefox.
Установка
Этот пакет в основном используется в созданном коде и не предназначен для использования непосредственно конечными пользователями.
Основные понятия
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 по любым дополнительным вопросам или комментариям.
Azure SDK for JavaScript