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