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