Поделиться через


@azure/core-lro package

Классы

LroEngine

Модуль LRO— класс, выполняющий опрос.

Poller

Класс , представляющий определение программы, которая опрашивает через последовательные запросы, пока не достигнет состояния завершения.

Средство опроса можно выполнить вручную, опрашив запрос по запросу путем многократного poll() вызова метода, пока его операция не будет завершена. Он также предоставляет способ ожидания завершения операции, вызывая pollUntilDone() и ожидая завершения операции. Опросники также могут запросить отмену текущего процесса, которому предоставляется базовая долго выполняющаяся операция.

const poller = new MyPoller();

// Polling just once:
await poller.poll();

// We can try to cancel the request here, by calling:
//
//     await poller.cancelOperation();
//

// Getting the final result:
const result = await poller.pollUntilDone();

Poller определяется двумя типами: типом, представляющим состояние опрашивающего объекта, который должен включать базовый набор свойств из PollOperationState<TResult>и тип возвращаемого значения, определенный параметром TResult, который может быть любым.

Класс Poller реализует PollerLike интерфейс , который позволяет реализовать средство опроса, чтобы избежать необходимости экспортировать класс Poller напрямую, а вместо этого экспортировать только уже созданный экземпляр опроса с типом PollerLike.

class Client {
  public async makePoller: PollerLike<MyOperationState, MyResult> {
    const poller = new MyPoller({});
    // It might be preferred to return the poller after the first request is made,
    // so that some information can be obtained right away.
    await poller.poll();
    return poller;
  }
}

const poller: PollerLike<MyOperationState, MyResult> = myClient.makePoller();

Опрашиватель можно создать с помощью его конструктора, а затем его можно опрашивировать до завершения. В любой момент времени состояние объекта опроса можно получить без задержки с помощью метода getOperationState. В любой момент времени промежуточные формы типа результата можно запрашивать без задержки. После того как базовая операция будет помечена как завершенная, средство опроса остановится и будет возвращено окончательное значение.

const poller = myClient.makePoller();
const state: MyOperationState = poller.getOperationState();

// The intermediate result can be obtained at any time.
const result: MyResult | undefined = poller.getResult();

// The final result can only be obtained after the poller finishes.
const result: MyResult = await poller.pollUntilDone();
PollerCancelledError

При отмене операции средство опроса будет отклонено с экземпляром PollerCancelledError.

PollerStoppedError

Когда средство опроса останавливается вручную с помощью stopPolling метода , он будет отклонен экземпляром PollerStoppedError.

Интерфейсы

CreateHttpPollerOptions

Параметры для createPoller.

LongRunningOperation

Описание длительной операции.

LroEngineOptions

Параметры для средства опроса LRO.

LroResponse

Тип ответа LRO.

OperationState

В то время как средство опроса работает как локальный механизм управления для запуска и ожидания длительной операции, OperationState документирует состояние удаленной длительной операции. Он обновляется после каждого опроса.

PollOperation

PollOperation — это интерфейс, который определяет, как обновлять локальную ссылку на состояние удаленной длительно выполняющейся операции, а также как запрашивать отмену той же операции.

Он также имеет метод сериализации операции, чтобы ее можно было сохранить и возобновить в любое время.

PollOperationState

PollOperationState содержит список наименьшего набора свойств, необходимых для определения любого длительно выполняющегося опрашителя операций.

Хотя класс Poller работает как локальный механизм управления для запуска, ожидания и, возможно, отмены длительной операции, PollOperationState документирует состояние удаленной длительно выполняющейся операции.

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

PollerLike

Абстрактное представление опроса, предназначенное для предоставления только минимального API, с которым должен работать пользователь.

RawResponse

Простой тип необработанного ответа.

SimplePollerLike

Простой интерфейс средства опроса.

Псевдонимы типа

CancelOnProgress

CancelOnProgress используется в качестве возвращаемого значения метода onProgress poller. Когда пользователь вызывает onProgress, он должен передать функцию, которая будет вызываться в качестве обратного вызова с новыми данными, получаемыми при каждом обновлении операции опроса. onProgress возвращает функцию, которая не позволяет при дальнейшем обновлении достичь исходного обратного вызова.

LroResourceLocationConfig

Потенциальное расположение результата LRO, если указано расширением LRO в swagger.

OperationStatus

Набор возможных состояний, в которые может находиться операция в любой момент времени.

PollProgressCallback

PollProgressCallback — это тип функций обратного вызова, отправляемых в onProgress. Эти функции получат TState, определенный реализацией класса Poller.

Функции

createHttpPoller<TResult, TState>(LongRunningOperation<unknown>, CreateHttpPollerOptions<TResult, TState>)

Создает средство опроса, которое можно использовать для опроса длительной операции.

Сведения о функции

createHttpPoller<TResult, TState>(LongRunningOperation<unknown>, CreateHttpPollerOptions<TResult, TState>)

Создает средство опроса, которое можно использовать для опроса длительной операции.

function createHttpPoller<TResult, TState>(lro: LongRunningOperation<unknown>, options?: CreateHttpPollerOptions<TResult, TState>): Promise<SimplePollerLike<TState, TResult>>

Параметры

lro

LongRunningOperation<unknown>

Описание длительной операции

options

CreateHttpPollerOptions<TResult, TState>

параметры для настройки средства опроса

Возвращаемое значение

Promise<SimplePollerLike<TState, TResult>>

инициализированное средство опроса