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