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

README.md

Neo-Async

npm Travis Status Coverage Status download

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