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

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