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

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