MES手机端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
liup a01a5aa773 提交修改 3 weeks ago
..
LICENSE 提交修改 3 weeks ago
README.md 提交修改 3 weeks ago
all.js 提交修改 3 weeks ago
allLimit.js 提交修改 3 weeks ago
allSeries.js 提交修改 3 weeks ago
angelFall.js 提交修改 3 weeks ago
any.js 提交修改 3 weeks ago
anyLimit.js 提交修改 3 weeks ago
anySeries.js 提交修改 3 weeks ago
apply.js 提交修改 3 weeks ago
applyEach.js 提交修改 3 weeks ago
applyEachSeries.js 提交修改 3 weeks ago
async.js 提交修改 3 weeks ago
async.min.js 提交修改 3 weeks ago
asyncify.js 提交修改 3 weeks ago
auto.js 提交修改 3 weeks ago
autoInject.js 提交修改 3 weeks ago
cargo.js 提交修改 3 weeks ago
compose.js 提交修改 3 weeks ago
concat.js 提交修改 3 weeks ago
concatLimit.js 提交修改 3 weeks ago
concatSeries.js 提交修改 3 weeks ago
constant.js 提交修改 3 weeks ago
createLogger.js 提交修改 3 weeks ago
detect.js 提交修改 3 weeks ago
detectLimit.js 提交修改 3 weeks ago
detectSeries.js 提交修改 3 weeks ago
dir.js 提交修改 3 weeks ago
doDuring.js 提交修改 3 weeks ago
doUntil.js 提交修改 3 weeks ago
doWhilst.js 提交修改 3 weeks ago
during.js 提交修改 3 weeks ago
each.js 提交修改 3 weeks ago
eachLimit.js 提交修改 3 weeks ago
eachOf.js 提交修改 3 weeks ago
eachOfLimit.js 提交修改 3 weeks ago
eachOfSeries.js 提交修改 3 weeks ago
eachSeries.js 提交修改 3 weeks ago
ensureAsync.js 提交修改 3 weeks ago
every.js 提交修改 3 weeks ago
everyLimit.js 提交修改 3 weeks ago
everySeries.js 提交修改 3 weeks ago
fast.js 提交修改 3 weeks ago
filter.js 提交修改 3 weeks ago
filterLimit.js 提交修改 3 weeks ago
filterSeries.js 提交修改 3 weeks ago
find.js 提交修改 3 weeks ago
findLimit.js 提交修改 3 weeks ago
findSeries.js 提交修改 3 weeks ago
foldl.js 提交修改 3 weeks ago
foldr.js 提交修改 3 weeks ago
forEach.js 提交修改 3 weeks ago
forEachLimit.js 提交修改 3 weeks ago
forEachOf.js 提交修改 3 weeks ago
forEachOfLimit.js 提交修改 3 weeks ago
forEachOfSeries.js 提交修改 3 weeks ago
forEachSeries.js 提交修改 3 weeks ago
forever.js 提交修改 3 weeks ago
groupBy.js 提交修改 3 weeks ago
groupByLimit.js 提交修改 3 weeks ago
groupBySeries.js 提交修改 3 weeks ago
inject.js 提交修改 3 weeks ago
iterator.js 提交修改 3 weeks ago
log.js 提交修改 3 weeks ago
map.js 提交修改 3 weeks ago
mapLimit.js 提交修改 3 weeks ago
mapSeries.js 提交修改 3 weeks ago
mapValues.js 提交修改 3 weeks ago
mapValuesLimit.js 提交修改 3 weeks ago
mapValuesSeries.js 提交修改 3 weeks ago
memoize.js 提交修改 3 weeks ago
nextTick.js 提交修改 3 weeks ago
omit.js 提交修改 3 weeks ago
omitLimit.js 提交修改 3 weeks ago
omitSeries.js 提交修改 3 weeks ago
package.json 提交修改 3 weeks ago
parallel.js 提交修改 3 weeks ago
parallelLimit.js 提交修改 3 weeks ago
pick.js 提交修改 3 weeks ago
pickLimit.js 提交修改 3 weeks ago
pickSeries.js 提交修改 3 weeks ago
priorityQueue.js 提交修改 3 weeks ago
queue.js 提交修改 3 weeks ago
race.js 提交修改 3 weeks ago
reduce.js 提交修改 3 weeks ago
reduceRight.js 提交修改 3 weeks ago
reflect.js 提交修改 3 weeks ago
reflectAll.js 提交修改 3 weeks ago
reject.js 提交修改 3 weeks ago
rejectLimit.js 提交修改 3 weeks ago
rejectSeries.js 提交修改 3 weeks ago
retry.js 提交修改 3 weeks ago
retryable.js 提交修改 3 weeks ago
safe.js 提交修改 3 weeks ago
select.js 提交修改 3 weeks ago
selectLimit.js 提交修改 3 weeks ago
selectSeries.js 提交修改 3 weeks ago
seq.js 提交修改 3 weeks ago
series.js 提交修改 3 weeks ago
setImmediate.js 提交修改 3 weeks ago
some.js 提交修改 3 weeks ago
someLimit.js 提交修改 3 weeks ago
someSeries.js 提交修改 3 weeks ago
sortBy.js 提交修改 3 weeks ago
sortByLimit.js 提交修改 3 weeks ago
sortBySeries.js 提交修改 3 weeks ago
timeout.js 提交修改 3 weeks ago
times.js 提交修改 3 weeks ago
timesLimit.js 提交修改 3 weeks ago
timesSeries.js 提交修改 3 weeks ago
transform.js 提交修改 3 weeks ago
transformLimit.js 提交修改 3 weeks ago
transformSeries.js 提交修改 3 weeks ago
tryEach.js 提交修改 3 weeks ago
unmemoize.js 提交修改 3 weeks ago
until.js 提交修改 3 weeks ago
waterfall.js 提交修改 3 weeks ago
whilst.js 提交修改 3 weeks ago
wrapSync.js 提交修改 3 weeks ago

README.md

Neo-Async

npm Travis Status Coverage Status download Code Quality: Javascript 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