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

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