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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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