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

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