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

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