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

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