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

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