max_liu b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
..
LICENSE b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
README.md b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
all.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
allLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
allSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
angelFall.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
any.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
anyLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
anySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
apply.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
applyEach.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
applyEachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
async.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
async.min.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
asyncify.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
auto.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
autoInject.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
cargo.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
compose.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
concat.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
concatLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
concatSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
constant.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
createLogger.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
detect.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
detectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
detectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
dir.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
doDuring.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
doUntil.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
doWhilst.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
during.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
each.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
eachLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
eachOf.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
eachOfLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
eachOfSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
eachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
ensureAsync.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
every.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
everyLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
everySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
fast.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
filter.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
filterLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
filterSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
find.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
findLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
findSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
foldl.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
foldr.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEach.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEachLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEachOf.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEachOfLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEachOfSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forEachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
forever.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
groupBy.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
groupByLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
groupBySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
inject.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
iterator.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
log.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
map.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
mapLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
mapSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
mapValues.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
mapValuesLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
mapValuesSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
memoize.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
nextTick.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
omit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
omitLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
omitSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
package.json b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
parallel.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
parallelLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
pick.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
pickLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
pickSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
priorityQueue.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
queue.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
race.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
reduce.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
reduceRight.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
reflect.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
reflectAll.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
reject.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
rejectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
rejectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
retry.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
retryable.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
safe.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
select.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
selectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
selectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
seq.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
series.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
setImmediate.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
some.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
someLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
someSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
sortBy.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
sortByLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
sortBySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
timeout.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
times.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
timesLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
timesSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
transform.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
transformLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
transformSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
tryEach.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
unmemoize.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
until.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
waterfall.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
whilst.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses
wrapSync.js b7ab7c8514 chore: 更新node_modules依赖文件 hace 2 meses

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts FOSSA

Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster.

Benchmark is here!

Bluebird's benchmark is here!

Code Coverage

coverage

Installation

In a browser

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

In an AMD loader

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

Promise and async/await

I recommend to use Aigle.

It is optimized for Promise handling and has almost the same functionality as neo-async.

Node.js

standard

$ npm install neo-async
var async = require('neo-async');

replacement

$ npm install neo-async
$ ln -s ./node_modules/neo-async ./node_modules/async
var async = require('async');

Bower

bower install neo-async

Feature

JSDoc

* not in Async

Collections

Control Flow

Utils

Mode

Benchmark

Benchmark: Async vs Neo-Async

How to check

$ node perf

Environment

  • Darwin 17.3.0 x64
  • Node.js v8.9.4
  • async v2.6.0
  • neo-async v2.5.0
  • benchmark v2.1.4

Result

The value is the ratio (Neo-Async/Async) of the average speed.

Collections

function benchmark
each/forEach 2.43
eachSeries/forEachSeries 1.75
eachLimit/forEachLimit 1.68
eachOf 3.29
eachOfSeries 1.50
eachOfLimit 1.59
map 3.95
mapSeries 1.81
mapLimit 1.27
mapValues 2.73
mapValuesSeries 1.59
mapValuesLimit 1.23
filter 3.00
filterSeries 1.74
filterLimit 1.17
reject 4.59
rejectSeries 2.31
rejectLimit 1.58
detect 4.30
detectSeries 1.86
detectLimit 1.32
reduce 1.82
transform 2.46
sortBy 4.08
some 2.19
someSeries 1.83
someLimit 1.32
every 2.09
everySeries 1.84
everyLimit 1.35
concat 3.79
concatSeries 4.45

Control Flow

funciton benchmark
parallel 2.93
series 1.96
waterfall 1.29
whilst 1.00
doWhilst 1.12
until 1.12
doUntil 1.12
during 1.18
doDuring 2.42
times 4.25
auto 1.97

License

FOSSA Status