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

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