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