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