# @awaitjs/express 中文文档

规范地址：https://npmcn.com/package/%40awaitjs/express/

版本：0\.9\.0
npm 元数据更新时间：2022-04-04T16:49:18.136Z
中文译文更新时间：2026-11-07T08:29:39.467Z
软件包许可：Apache 2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40awaitjs/express
原文对照：https://npmcn.com/package/%40awaitjs/express/?lang=original
项目主页：https://github.com/vkarpov15/awaitjs-express#readme
源码仓库：https://github.com/vkarpov15/awaitjs-express

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

- 包体积（解压后）：32.8 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=7\.6\.0
- 运行依赖：0 个
- peer 依赖：@types/express 4\.x，express 4\.x
- 首次发布：2018-08-10T16:03:35.780Z
- 最新版本发布：2021-10-22T19:35:52.490Z
- 近 30 天下载量：34344（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 0 个）

## 中文简介

使用 Aync/awa 写入快取中件和路由处理器

## 安装

```sh
npm install @awaitjs/express
```

也可以使用：`pnpm add @awaitjs/express`、`yarn add @awaitjs/express`、`bun add @awaitjs/express`

## README

# @ awaitjs/ 表达

使用 Aync/awa 写入快取中件和路由处理器

# 使用量

```javascript
const { addAsync } = require('@awaitjs/express');

// Or, if you want to use `wrap()`
const { wrap } = require('@awaitjs/express');
```

# API 密码

## 添加Async( )

这个 `addAsync()` 函数是添加 async/await 的首选方式 支持您的 Express 应用程序。 此函数添加了多个帮助函数 你的快递应用程序.

### 它又说 `useAsync()`, (中文(简体) ), `getAsync()`等到您的快捷应用程序

这个 `addAsync()` 函数添加 `useAsync()`, (中文(简体) ), `deleteAsync()`, (中文(简体) ), `getAsync()`, (中文(简体) ), `headAsync()`, (中文(简体) ), `paramAsync()`, (中文(简体) ), `patchAsync()`, (中文(简体) ), `postAsync()`,以及 `putAsync()`。 。 。 .

```javascript
const express = require('express');
const app = addAsync(express());

// `useAsync()` is like `app.use()`, but supports async functions
app.useAsync(async function(req, res, next) {
  await new Promise(resolve => setTimeout(resolve, 50));
});

// `getAsync()` is like `app.get()`, but supports async functions
app.getAsync('*', async function(req, res, next) {
  throw new Error('Oops!');
});

// Because of `getAsync()`, this error handling middleware will run.
// `addAsync()` also enables async error handling middleware.
app.use(function(error, req, res, next) {
  res.send(error.message);
});

const server = await app.listen(3000);
```

## 路由器( )

此模块导出 a `Router()` 函数为下移 替换为 `express.Router()`,但返回时除外 路由器已经 `getAsync()`, (中文(简体) ), `useAsync()`等 (中文(简体) ).

### 出口a `Router` 函数,该函数返回新的对合成友好路由器

```javascript
const express = require('express');
const app = express(); // This app isn't async friendly.

const router = Router(); // But this router is.
router.getAsync('/foo', async function(req, res, next) {
  throw new Error('Oops!');
});

app.use(router);
app.use(function(err, req, res, next) {
  res.send(err.message);
});

const server = await app.listen(3000);
```

## 装饰App

无罪: 无罪: 结束

### 它是添加Async( ) 的同名词

```javascript
assert.equal(decorateApp, addAsync)
```

## 装饰

### 它是添加Async( ) 的同名词

```javascript
assert.equal(decorateRouter, addAsync)
```

## 包装( c)

如果你需要更多精细的控制 比什么 `addAsync()` 给 你,你可以使用这个 `wrap()` 函数。 此函数环绕一个同位素 为更好的错误处理而提供中间软件或路由处理器.

### 它与 Express- 兼容的处理出错 连接到一个同源函数

```javascript
const express = require('express');
const app = express();

// `wrap()` takes an async middleware or route handler and adds a
// `.catch()` to handle any errors. It also prevents double-calling
// `next()`.
app.get('*', wrap(async function(req, res, next) {
  throw new Error('Oops!');
}));

// `wrap()` also supports async error handling middleware.
app.use(wrap(async function(error, req, res, next) {
  throw new Error('foo');
}));

app.use(function(error, req, res, next) {
  res.send(error.message); // Will send back 'foo'
});

const server = await app.listen(3000);
```

## 常见问题

### @awaitjs/express 是什么？

使用 Aync/awa 写入快取中件和路由处理器

### 如何安装 @awaitjs/express？

在项目目录运行 npm install @awaitjs/express，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@types/express（4\.x）、express（4\.x）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @awaitjs/express 支持 TypeScript 吗？

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

### @awaitjs/express 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @awaitjs/express 需要什么版本的 Node\.js？

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

### @awaitjs/express 可以商用吗？

@awaitjs/express 使用 Apache 2\.0 许可。声明的许可为 Apache 2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @awaitjs/express 的下载量有多少？

根据 npm 官方下载统计，@awaitjs/express 在 2026/10/07 – 2026/11/05 这 30 天内被下载 34,344 次，日均约 1,145 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @awaitjs/express 还在维护吗？

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

