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

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