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