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