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

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