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