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

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