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