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

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