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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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