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