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

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