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