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