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

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