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

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