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

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