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

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