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

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