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