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

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