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

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