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

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