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