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