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