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

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