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