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

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