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

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