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