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

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