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

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