你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

@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();

轮询器由两种类型定义:一种表示轮询器状态的类型(必须包含 来自 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 用作 Poller 的 onProgress 方法的返回值。 当用户调用 onProgress 时,需要传入一个函数,该函数将作为回调调用,每次更新轮询操作时收到的新数据。 onProgress 返回一个函数,该函数将阻止任何进一步的更新到达原始回调。

LroResourceLocationConfig

LRO 结果的潜在位置(如果由 swagger 中的 LRO 扩展指定)。

OperationStatus

操作在任何给定时间可以处于的可能状态集。

PollProgressCallback

PollProgressCallback 是发送到 onProgress 的回调函数的类型。 这些函数将接收由 Poller 类的实现定义的 TState。

函数

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>>

初始化的轮询器