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

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