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