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

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