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