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

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