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

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