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

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