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