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

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