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

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