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

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