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