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

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