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

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