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