You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
rpm-mcarman b9f7ec4306 First Commit 3 jaren geleden
..
LICENSE First Commit 3 jaren geleden
README.md First Commit 3 jaren geleden
all.js First Commit 3 jaren geleden
allLimit.js First Commit 3 jaren geleden
allSeries.js First Commit 3 jaren geleden
angelFall.js First Commit 3 jaren geleden
any.js First Commit 3 jaren geleden
anyLimit.js First Commit 3 jaren geleden
anySeries.js First Commit 3 jaren geleden
apply.js First Commit 3 jaren geleden
applyEach.js First Commit 3 jaren geleden
applyEachSeries.js First Commit 3 jaren geleden
async.js First Commit 3 jaren geleden
async.min.js First Commit 3 jaren geleden
asyncify.js First Commit 3 jaren geleden
auto.js First Commit 3 jaren geleden
autoInject.js First Commit 3 jaren geleden
cargo.js First Commit 3 jaren geleden
compose.js First Commit 3 jaren geleden
concat.js First Commit 3 jaren geleden
concatLimit.js First Commit 3 jaren geleden
concatSeries.js First Commit 3 jaren geleden
constant.js First Commit 3 jaren geleden
createLogger.js First Commit 3 jaren geleden
detect.js First Commit 3 jaren geleden
detectLimit.js First Commit 3 jaren geleden
detectSeries.js First Commit 3 jaren geleden
dir.js First Commit 3 jaren geleden
doDuring.js First Commit 3 jaren geleden
doUntil.js First Commit 3 jaren geleden
doWhilst.js First Commit 3 jaren geleden
during.js First Commit 3 jaren geleden
each.js First Commit 3 jaren geleden
eachLimit.js First Commit 3 jaren geleden
eachOf.js First Commit 3 jaren geleden
eachOfLimit.js First Commit 3 jaren geleden
eachOfSeries.js First Commit 3 jaren geleden
eachSeries.js First Commit 3 jaren geleden
ensureAsync.js First Commit 3 jaren geleden
every.js First Commit 3 jaren geleden
everyLimit.js First Commit 3 jaren geleden
everySeries.js First Commit 3 jaren geleden
fast.js First Commit 3 jaren geleden
filter.js First Commit 3 jaren geleden
filterLimit.js First Commit 3 jaren geleden
filterSeries.js First Commit 3 jaren geleden
find.js First Commit 3 jaren geleden
findLimit.js First Commit 3 jaren geleden
findSeries.js First Commit 3 jaren geleden
foldl.js First Commit 3 jaren geleden
foldr.js First Commit 3 jaren geleden
forEach.js First Commit 3 jaren geleden
forEachLimit.js First Commit 3 jaren geleden
forEachOf.js First Commit 3 jaren geleden
forEachOfLimit.js First Commit 3 jaren geleden
forEachOfSeries.js First Commit 3 jaren geleden
forEachSeries.js First Commit 3 jaren geleden
forever.js First Commit 3 jaren geleden
groupBy.js First Commit 3 jaren geleden
groupByLimit.js First Commit 3 jaren geleden
groupBySeries.js First Commit 3 jaren geleden
inject.js First Commit 3 jaren geleden
iterator.js First Commit 3 jaren geleden
log.js First Commit 3 jaren geleden
map.js First Commit 3 jaren geleden
mapLimit.js First Commit 3 jaren geleden
mapSeries.js First Commit 3 jaren geleden
mapValues.js First Commit 3 jaren geleden
mapValuesLimit.js First Commit 3 jaren geleden
mapValuesSeries.js First Commit 3 jaren geleden
memoize.js First Commit 3 jaren geleden
nextTick.js First Commit 3 jaren geleden
omit.js First Commit 3 jaren geleden
omitLimit.js First Commit 3 jaren geleden
omitSeries.js First Commit 3 jaren geleden
package.json First Commit 3 jaren geleden
parallel.js First Commit 3 jaren geleden
parallelLimit.js First Commit 3 jaren geleden
pick.js First Commit 3 jaren geleden
pickLimit.js First Commit 3 jaren geleden
pickSeries.js First Commit 3 jaren geleden
priorityQueue.js First Commit 3 jaren geleden
queue.js First Commit 3 jaren geleden
race.js First Commit 3 jaren geleden
reduce.js First Commit 3 jaren geleden
reduceRight.js First Commit 3 jaren geleden
reflect.js First Commit 3 jaren geleden
reflectAll.js First Commit 3 jaren geleden
reject.js First Commit 3 jaren geleden
rejectLimit.js First Commit 3 jaren geleden
rejectSeries.js First Commit 3 jaren geleden
retry.js First Commit 3 jaren geleden
retryable.js First Commit 3 jaren geleden
safe.js First Commit 3 jaren geleden
select.js First Commit 3 jaren geleden
selectLimit.js First Commit 3 jaren geleden
selectSeries.js First Commit 3 jaren geleden
seq.js First Commit 3 jaren geleden
series.js First Commit 3 jaren geleden
setImmediate.js First Commit 3 jaren geleden
some.js First Commit 3 jaren geleden
someLimit.js First Commit 3 jaren geleden
someSeries.js First Commit 3 jaren geleden
sortBy.js First Commit 3 jaren geleden
sortByLimit.js First Commit 3 jaren geleden
sortBySeries.js First Commit 3 jaren geleden
timeout.js First Commit 3 jaren geleden
times.js First Commit 3 jaren geleden
timesLimit.js First Commit 3 jaren geleden
timesSeries.js First Commit 3 jaren geleden
transform.js First Commit 3 jaren geleden
transformLimit.js First Commit 3 jaren geleden
transformSeries.js First Commit 3 jaren geleden
tryEach.js First Commit 3 jaren geleden
unmemoize.js First Commit 3 jaren geleden
until.js First Commit 3 jaren geleden
waterfall.js First Commit 3 jaren geleden
whilst.js First Commit 3 jaren geleden
wrapSync.js First Commit 3 jaren geleden

README.md

Neo-Async

npm Travis Status Coverage Status download Code Quality: Javascript Total Alerts

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