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