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

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