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

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