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