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

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