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

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