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