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

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