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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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