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