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

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