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

README.md

Neo-Async

npm Travis Status Coverage Status download 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