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

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