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