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