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