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

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