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