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

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