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

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