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