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

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