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