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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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