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

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