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

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