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

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