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

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