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

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