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

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