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