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