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