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

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