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