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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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