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

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