你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 JavaScript 的 Azure Core LRO 客户端库 - 版本 2.7.2
这是 Azure SDK JavaScript 客户端库中长时间运行的操作的默认实现,该操作在浏览器和 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。
后续步骤
有关如何使用此库的详细示例,请查看 示例 目录。
贡献
若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。
测试
若要运行测试,请先使用 或 rush install
) 安装 (npm install
依赖项,然后使用 运行单元测试: npm run unit-test
。
行为准则
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。