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