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