# neo-async 中文文档

规范地址：https://npmcn.com/package/neo-async/

版本：2\.6\.2
npm 元数据更新时间：2022-06-21T00:04:10.222Z
中文译文更新时间：2026-11-05T15:59:19.462Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/neo-async
原文对照：https://npmcn.com/package/neo-async/?lang=original
项目主页：https://github.com/suguru03/neo-async
源码仓库：https://github.com/suguru03/neo-async

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

- 包体积（解压后）：298 kB，119 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2014-11-23T16:55:32.074Z
- 最新版本发布：2020-07-09T18:23:53.065Z
- 近 30 天下载量：261916018（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：77（近 12 个月 0 个）

## 中文简介

Neo-Async是Async的倒置替代,它几乎完全覆盖了它的功能并运行得更快

## 安装

```sh
npm install neo-async
```

也可以使用：`pnpm add neo-async`、`yarn add neo-async`、`bun add neo-async`

## README

# 新亚眠

![](https://raw.githubusercontent.com/wiki/suguru03/neo-async/images/neo_async_v2.png)

[![npm](https://img.shields.io/npm/v/neo-async.svg)](https://www.npmjs.com/package/neo-async) [![Travis Status](https://img.shields.io/travis/suguru03/neo-async.svg)](https://travis-ci.org/suguru03/neo-async) [![Coverage Status](https://img.shields.io/codecov/c/github/suguru03/neo-async/master.svg)](https://codecov.io/gh/suguru03/neo-async) [![download](https://img.shields.io/npm/dm/neo-async.svg)](https://www.npmjs.com/package/neo-async) [![Code Quality: Javascript](https://img.shields.io/lgtm/grade/javascript/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/suguru03/neo-async/context:javascript) [![Total Alerts](https://img.shields.io/lgtm/alerts/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/suguru03/neo-async/alerts) [![FOSSA](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async?ref=badge_shield)

Neo-Async被认为是用于替换 [自动同步](https://github.com/caolan/async),几乎完全覆盖其功能并运行 [快点](https://npmcn.com/package/neo-async/#readme-benchmark)。 。 。 .

基准是 [这里](https://npmcn.com/package/neo-async/#readme-benchmark)来啊!

蓝鸟的基准是 [这里](https://github.com/suguru03/bluebird/tree/aigle/benchmark)来啊!

## 代码覆盖

![coverage](https://raw.githubusercontent.com/wiki/suguru03/neo-async/images/coverage.png)

## 安装

### 在浏览器中

```html
<script src="async.min.js"></script>
```

### 在AMD装载机中

```js
require(['async'], function(async) {});
```

### 承诺和配合/等待

我建议使用 [`Aigle`](https://github.com/suguru03/aigle)。 。 。 .

它被优化为承诺处理,其功能几乎与 `neo-async`。 。 。 .

### 节点.js

#### 标准

```bash
$ npm install neo-async
```

```js
var async = require('neo-async');
```

#### 替换

```bash
$ npm install neo-async
$ ln -s ./node_modules/neo-async ./node_modules/async
```

```js
var async = require('async');
```

### 鲍尔

```bash
bower install neo-async
```

## 特性

[联合来文文件](http://suguru03.github.io/neo-async/doc/async.html)

\* 不在阿辛克语中

### 收款

-   [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)
-   [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)
-   [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)
-   [`forEach`](http://suguru03.github.io/neo-async/doc/async.each.html) - > (中文) [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)
-   [`forEachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) - > (中文) [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)
-   [`forEachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) - > (中文) [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)
-   [`eachOf`](http://suguru03.github.io/neo-async/doc/async.each.html) - > (中文) [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)
-   [`eachOfSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) - > (中文) [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)
-   [`eachOfLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) - > (中文) [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)
-   [`forEachOf`](http://suguru03.github.io/neo-async/doc/async.each.html) - > (中文) [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)
-   [`forEachOfSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) - > (中文) [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)
-   [`eachOfLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) - > (中文) [`forEachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)
-   [`map`](http://suguru03.github.io/neo-async/doc/async.map.html)
-   [`mapSeries`](http://suguru03.github.io/neo-async/doc/async.mapSeries.html)
-   [`mapLimit`](http://suguru03.github.io/neo-async/doc/async.mapLimit.html)
-   [`mapValues`](http://suguru03.github.io/neo-async/doc/async.mapValues.html)
-   [`mapValuesSeries`](http://suguru03.github.io/neo-async/doc/async.mapValuesSeries.html)
-   [`mapValuesLimit`](http://suguru03.github.io/neo-async/doc/async.mapValuesLimit.html)
-   [`filter`](http://suguru03.github.io/neo-async/doc/async.filter.html)
-   [`filterSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html)
-   [`filterLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html)
-   [`select`](http://suguru03.github.io/neo-async/doc/async.filter.html) - > (中文) [`filter`](http://suguru03.github.io/neo-async/doc/async.filter.html)
-   [`selectSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html) - > (中文) [`filterSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html)
-   [`selectLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html) - > (中文) [`filterLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html)
-   [`reject`](http://suguru03.github.io/neo-async/doc/async.reject.html)
-   [`rejectSeries`](http://suguru03.github.io/neo-async/doc/async.rejectSeries.html)
-   [`rejectLimit`](http://suguru03.github.io/neo-async/doc/async.rejectLimit.html)
-   [`detect`](http://suguru03.github.io/neo-async/doc/async.detect.html)
-   [`detectSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html)
-   [`detectLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html)
-   [`find`](http://suguru03.github.io/neo-async/doc/async.detect.html) - > (中文) [`detect`](http://suguru03.github.io/neo-async/doc/async.detect.html)
-   [`findSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html) - > (中文) [`detectSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html)
-   [`findLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html) - > (中文) [`detectLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html)
-   [`pick`](http://suguru03.github.io/neo-async/doc/async.pick.html) \* 联合国
-   [`pickSeries`](http://suguru03.github.io/neo-async/doc/async.pickSeries.html) \* 联合国
-   [`pickLimit`](http://suguru03.github.io/neo-async/doc/async.pickLimit.html) \* 联合国
-   [`omit`](http://suguru03.github.io/neo-async/doc/async.omit.html) \* 联合国
-   [`omitSeries`](http://suguru03.github.io/neo-async/doc/async.omitSeries.html) \* 联合国
-   [`omitLimit`](http://suguru03.github.io/neo-async/doc/async.omitLimit.html) \* 联合国
-   [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)
-   [`inject`](http://suguru03.github.io/neo-async/doc/async.reduce.html) - > (中文) [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)
-   [`foldl`](http://suguru03.github.io/neo-async/doc/async.reduce.html) - > (中文) [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)
-   [`reduceRight`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html)
-   [`foldr`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html) - > (中文) [`reduceRight`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html)
-   [`transform`](http://suguru03.github.io/neo-async/doc/async.transform.html)
-   [`transformSeries`](http://suguru03.github.io/neo-async/doc/async.transformSeries.html) \* 联合国
-   [`transformLimit`](http://suguru03.github.io/neo-async/doc/async.transformLimit.html) \* 联合国
-   [`sortBy`](http://suguru03.github.io/neo-async/doc/async.sortBy.html)
-   [`sortBySeries`](http://suguru03.github.io/neo-async/doc/async.sortBySeries.html) \* 联合国
-   [`sortByLimit`](http://suguru03.github.io/neo-async/doc/async.sortByLimit.html) \* 联合国
-   [`some`](http://suguru03.github.io/neo-async/doc/async.some.html)
-   [`someSeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html)
-   [`someLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html)
-   [`any`](http://suguru03.github.io/neo-async/doc/async.some.html) - > (中文) [`some`](http://suguru03.github.io/neo-async/doc/async.some.html)
-   [`anySeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html) - > (中文) [`someSeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html)
-   [`anyLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html) - > (中文) [`someLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html)
-   [`every`](http://suguru03.github.io/neo-async/doc/async.every.html)
-   [`everySeries`](http://suguru03.github.io/neo-async/doc/async.everySeries.html)
-   [`everyLimit`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html)
-   [`all`](http://suguru03.github.io/neo-async/doc/async.every.html) - > (中文) [`every`](http://suguru03.github.io/neo-async/doc/async.every.html)
-   [`allSeries`](http://suguru03.github.io/neo-async/doc/async.everySeries.html) - > (中文) [`every`](http://suguru03.github.io/neo-async/doc/async.everySeries.html)
-   [`allLimit`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html) - > (中文) [`every`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html)
-   [`concat`](http://suguru03.github.io/neo-async/doc/async.concat.html)
-   [`concatSeries`](http://suguru03.github.io/neo-async/doc/async.concatSeries.html)
-   [`concatLimit`](http://suguru03.github.io/neo-async/doc/async.concatLimit.html) \* 联合国

### 控制流量

-   [`parallel`](http://suguru03.github.io/neo-async/doc/async.parallel.html)
-   [`series`](http://suguru03.github.io/neo-async/doc/async.series.html)
-   [`parallelLimit`](http://suguru03.github.io/neo-async/doc/async.series.html)
-   [`tryEach`](http://suguru03.github.io/neo-async/doc/async.tryEach.html)
-   [`waterfall`](http://suguru03.github.io/neo-async/doc/async.waterfall.html)
-   [`angelFall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) \* 联合国
-   [`angelfall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) - > (中文) [`angelFall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) \* 联合国
-   [`whilst`](https://npmcn.com/package/neo-async/#readme-whilst)
-   [`doWhilst`](https://npmcn.com/package/neo-async/#readme-doWhilst)
-   [`until`](https://npmcn.com/package/neo-async/#readme-until)
-   [`doUntil`](https://npmcn.com/package/neo-async/#readme-doUntil)
-   [`during`](https://npmcn.com/package/neo-async/#readme-during)
-   [`doDuring`](https://npmcn.com/package/neo-async/#readme-doDuring)
-   [`forever`](https://npmcn.com/package/neo-async/#readme-forever)
-   [`compose`](https://npmcn.com/package/neo-async/#readme-compose)
-   [`seq`](https://npmcn.com/package/neo-async/#readme-seq)
-   [`applyEach`](https://npmcn.com/package/neo-async/#readme-applyEach)
-   [`applyEachSeries`](https://npmcn.com/package/neo-async/#readme-applyEachSeries)
-   [`queue`](https://npmcn.com/package/neo-async/#readme-queue)
-   [`priorityQueue`](https://npmcn.com/package/neo-async/#readme-priorityQueue)
-   [`cargo`](https://npmcn.com/package/neo-async/#readme-cargo)
-   [`auto`](https://npmcn.com/package/neo-async/#readme-auto)
-   [`autoInject`](https://npmcn.com/package/neo-async/#readme-autoInject)
-   [`retry`](https://npmcn.com/package/neo-async/#readme-retry)
-   [`retryable`](https://npmcn.com/package/neo-async/#readme-retryable)
-   [`iterator`](https://npmcn.com/package/neo-async/#readme-iterator)
-   [`times`](http://suguru03.github.io/neo-async/doc/async.times.html)
-   [`timesSeries`](http://suguru03.github.io/neo-async/doc/async.timesSeries.html)
-   [`timesLimit`](http://suguru03.github.io/neo-async/doc/async.timesLimit.html)
-   [`race`](https://npmcn.com/package/neo-async/#readme-race)

### 用户

-   [`apply`](https://npmcn.com/package/neo-async/#readme-apply)
-   [`setImmediate`](https://npmcn.com/package/neo-async/#readme-setImmediate)
-   [`nextTick`](https://npmcn.com/package/neo-async/#readme-nextTick)
-   [`memoize`](https://npmcn.com/package/neo-async/#readme-memoize)
-   [`unmemoize`](https://npmcn.com/package/neo-async/#readme-unmemoize)
-   [`ensureAsync`](https://npmcn.com/package/neo-async/#readme-ensureAsync)
-   [`constant`](https://npmcn.com/package/neo-async/#readme-constant)
-   [`asyncify`](https://npmcn.com/package/neo-async/#readme-asyncify)
-   [`wrapSync`](https://npmcn.com/package/neo-async/#readme-asyncify) - > (中文) [`asyncify`](https://npmcn.com/package/neo-async/#readme-asyncify)
-   [`log`](https://npmcn.com/package/neo-async/#readme-log)
-   [`dir`](https://npmcn.com/package/neo-async/#readme-dir)
-   [`timeout`](http://suguru03.github.io/neo-async/doc/async.timeout.html)
-   [`reflect`](https://npmcn.com/package/neo-async/#readme-reflect)
-   [`reflectAll`](https://npmcn.com/package/neo-async/#readme-reflectAll)
-   [`createLogger`](https://npmcn.com/package/neo-async/#readme-createLogger)

## 模式

-   [`safe`](https://npmcn.com/package/neo-async/#readme-safe) \* 联合国
-   [`fast`](https://npmcn.com/package/neo-async/#readme-fast) \* 联合国

## 基准

[基准: Async vs Neo-Async](http://suguru03.hatenablog.com/entry/2016/06/10/135559)

### 如何检查

```bash
$ node perf
```

### 环境

-   达尔文 17.3.0 x64
-   节点.js v8.9.4
-   aync v2.6.0 (英语)
-   新声波 v 2.5.0
-   基准v2.1.4

### 结果

值为平均速度之比(Neo-Async/Async).

#### 收款

| 函数 | 基准 |
| --- | --: |
| 每个/每个 | 2.43 (中文(简体) ) |
| 每组/每组 | 1.75 国家 |
| 每个限制/ 为每个限制 | 1.68 联合国 |
| 每一个 | 3.29 联合国 |
| 每一个 | 1.50 (中文(简体) ) |
| 每个限制 | 1.59 联合国 |
| 地图 | 3.95 (中文(简体) ) |
| 地图串 | 1.81 联合国 |
| 映射范围 | 1.27 (中文(简体) ) |
| 地图数值 | 2.73 (中文(简体) ) |
| 映射数值串 | 1.59 联合国 |
| 地图 | 1.23 联合国 |
| 过滤器 | 3.00 (中文(简体) ) |
| 过滤器串 | 1.74 国家 |
| 过滤范围 | 1.17 联合国 |
| 拒绝 | 4.59 (中文(简体) ) |
| 拒绝串 | 2.31 联合国 |
| 拒绝限制 | 1.58 联合国 |
| 检测 | 4·30 (中文(简体) ) |
| 探测器串 | 1.86 联合国 |
| 检测限制 | 第1.32条 |
| 减少 | 1.82 国家 |
| 转换 | 2.46 国家 |
| 排序为 | 4.08 (中文(简体) ) |
| 有点 | 2.19 联合国 |
| 内容 | 1.83 (中文(简体) ) |
| 某种限制 | 第1.32条 |
| 每个 | 2.09 (中文(简体) ) |
| 每行 | 1.84 国家 |
| 每分钟 | 1.35 国家 |
| 弯曲 | 3.79 联合国 |
| 编织器 | 4.45 (中文(简体) ) |

#### 控制流量

| funciton 单曲 | 基准 |
| --- | --: |
| 平行 | 2.93 (中文(简体) ) |
| 系列 | 1.96 国家 |
| 瀑布 | 1.29 联合国 |
| 同时 | 1.00 (中文(简体) ) |
| 多维斯特 | 1.12 信息技术 |
| 直至 | 1.12 信息技术 |
| 直到结束 | 1.12 信息技术 |
| 期间 | 1.18 联合国 |
| 工作期间 | 2.42 国家 |
| 时间 | 4.25 联合国 |
| 自动 | 1.97 (中文(简体) ) |

## 许可证

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async?ref=badge_large)

## 常见问题

### neo-async 是什么？

Neo-Async是Async的倒置替代,它几乎完全覆盖了它的功能并运行得更快

### 如何安装 neo-async？

在项目目录运行 npm install neo-async，或使用 pnpm add / yarn add / bun add。

### neo-async 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/neo-async 是否存在。

### neo-async 支持 ESM 还是 CommonJS？

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

### neo-async 可以商用吗？

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

### neo-async 的下载量有多少？

根据 npm 官方下载统计，neo-async 在 2026/10/05 – 2026/11/03 这 30 天内被下载 261,916,018 次，日均约 8,730,534 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### neo-async 还在维护吗？

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

