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