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

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