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

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