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