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

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