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