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

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