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

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