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

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