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

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