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