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

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