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

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