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

适用于 JavaScript 的 Azure Core LRO 客户端库 - 版本 2.7.2

这是 Azure SDK JavaScript 客户端库中长时间运行的操作的默认实现,该操作在浏览器和 NodeJS 中都有效。 此库主要用于 AutoRestautorest.typescript 生成的代码。

@azure/core-lro 遵循 适用于长时间运行的操作的 Azure SDK 设计指南

关键链接:

入门

目前支持的环境

安装

此包主要用于生成的代码,不应由最终用户直接使用。

关键概念

SimplePollerLike

轮询器是一个对象,它可以轮询服务器上长时间运行的操作的状态,直到它到达终端状态。 它提供以下方法:

  • getOperationState:返回操作的状态,类型化为扩展的类型 OperationState
  • getResult:在操作完成时返回操作的结果, undefined 否则返回
  • isDone:返回操作是否处于终端状态
  • isStopped:返回轮询是否停止
  • onProgress:注册每次收到轮询响应时要调用的回调函数
  • poll:发送单个轮询请求
  • pollUntilDone:返回一个承诺,该承诺将与操作的结果一起解决
  • stopPolling:停止轮询;
  • toString:序列化轮询器的状态

OperationState

操作状态的类型。 它包含具有以下status可能值的字段:notStarted、、runningsucceededfailedcanceled。 可以按如下方式访问它:

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

后续步骤

有关如何使用此库的详细示例,请查看 示例 目录。

贡献

若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。

测试

若要运行测试,请先使用 或 rush install) 安装 (npm install 依赖项,然后使用 运行单元测试: npm run unit-test

行为准则

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。

曝光数