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

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