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

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