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

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