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

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