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

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