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

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