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

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