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