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