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