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

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