# @azure/core-lro 中文文档

规范地址：https://npmcn.com/package/%40azure/core-lro/

版本：3\.4\.2
npm 元数据更新时间：2026-11-07T17:05:06.608Z
中文译文更新时间：2026-11-07T13:04:54.337Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40azure/core-lro
原文对照：https://npmcn.com/package/%40azure/core-lro/?lang=original
项目主页：https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-lro/README.md
源码仓库：https://github.com/Azure/azure-sdk-for-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：479 kB，128 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：4 个
- 首次发布：2019-10-22T23:14:08.442Z
- 最新版本发布：2026-11-07T17:05:06.391Z
- 近 30 天下载量：74327403（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：608（近 12 个月 76 个）

## 中文简介

Isomorphic客户端库用于支持在节点.js和浏览器中的长期运行操作.

## 安装

```sh
npm install @azure/core-lro
```

也可以使用：`pnpm add @azure/core-lro`、`yarn add @azure/core-lro`、`bun add @azure/core-lro`

## README

# JavaScript 的 Azure Core LRO 客户端库

这是Azure SDK JavaScript 客户端库中长期运行的操作的默认执行,它同时在浏览器和NodeJS中工作. 此库主要用于该库生成的代码 [类型Spec](https://typespec.io/) [`@azure-tools/typespec-ts`](https://github.com/Azure/typespec-azure/tree/main/packages/typespec-ts) 发射器.

`@azure/core-lro` 如下 [Azure SDK 长期运行操作设计准则](https://azure.github.io/azure-sdk/typescript_design.html#ts-lro)

密钥链接 :

-   [源代码](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-lro)
-   [软件包( npm)](https://www.npmjs.com/package/@azure/core-lro)
-   [API 参考文档](https://learn.microsoft.com/javascript/api/@azure/core-lro)
-   [样本](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-lro/samples)

## 开始

### 目前得到支持的环境

-   [节点.js的LTS版本](https://github.com/nodejs/release#release-schedule)
-   Safari,Chrome,Edge,和Firefox的最新版本.

### 安装

这个软件包主要用于生成的代码中,而无意被终端用户直接消耗.

## 关键概念

### `PollerLike`

传票人是指可以在服务器上对其状态进行长期运行的操作进行投票直至达到终端状态的对象. 它也延伸 `Promise<TResult>`这样你就可以 `await` 它直接得到最终结果。 它规定如下:

-   `operationState`: 返回当前操作状态的属性, 键入为扩展类型 `OperationState`这是 `undefined` 如果尚未提交传票人.
-   `result`: 完成操作后返回操作结果的财产 `undefined` 否则
-   `isDone`: 返回操作是否处于终端状态的属性
-   `onProgress`:每次收到投票答复时,登记召回功能
-   `poll`: 发出单一投票请求
-   `pollUntilDone`: 返回将随操作结果而解决的承诺
-   `serialize`: 返回一个承诺, 解决一个连环化的 代表投票者状态
-   `submitted`: 返回一个承诺, 当授粉者成功提交后解决

### `OperationState`

操作状态的类型 。 它包含一个 `status` 字段,可能有以下值: `notStarted`, (中文(简体) ), `running`, (中文(简体) ), `succeeded`, (中文(简体) ), `failed`,以及 `canceled`。可通过以下方式访问:

```typescript
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` 选项被设定为对.
-   `poller.operationState?.status` 将设定为 `"failed"` 或者说 `"canceled"` 当操作失败或返回错误响应时.

## 实例

实例可见于 `samples` 文件夹.

## 解决问题

### 日志

日志可以由执行"长跑行动传票人"的图书馆酌情添加. 内包装 [祖尔·斯德克·换杰斯](https://github.com/Azure/azure-sdk-for-js) 使用情况 [@ azure/ logger (缩写)](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger)。 。 。 .

## 今后的步骤

请看一下 [样本](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-lro/samples) 关于如何使用此库的详细示例的目录.

## 捐款

如果您想为图书馆捐钱 请读一下 [贡献指南](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) 学习如何构建和测试密码.

### 测试

为了进行我们的测试,首先安装依赖关系(与 `pnpm install`, (中文(简体) ), 然后用: `pnpm run test:node`。 。 。 .

### 行为守则

该项目通过了 [Microsoft 开源行为守则](https://opensource.microsoft.com/codeofconduct/)。 。 。 . 更多信息见 [《行为守则》](https://opensource.microsoft.com/codeofconduct/faq/) 或者说 联系人 [打开码@ microsoft.com](mailto:opencode@microsoft.com) 并附上任何其他问题或评论.

## 常见问题

### @azure/core-lro 是什么？

Isomorphic客户端库用于支持在节点\.js和浏览器中的长期运行操作\.

### 如何安装 @azure/core-lro？

在项目目录运行 npm install @azure/core-lro，或使用 pnpm add / yarn add / bun add。

### @azure/core-lro 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @azure/core-lro 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @azure/core-lro 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @azure/core-lro 可以商用吗？

@azure/core-lro 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @azure/core-lro 的下载量有多少？

根据 npm 官方下载统计，@azure/core-lro 在 2026/10/08 – 2026/11/06 这 30 天内被下载 74,327,403 次，日均约 2,477,580 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @azure/core-lro 还在维护吗？

最新版本 3\.4\.2 发布于 2026/11/08（今天）；至今共发布 608 个版本，其中过去 12 个月发布了 76 个；首次发布于 2019/10/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

