You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nathan boileau c0e9777968
push node_module
3 years ago
..
LICENSE push node_module 3 years ago
README.md push node_module 3 years ago
all.js push node_module 3 years ago
allLimit.js push node_module 3 years ago
allSeries.js push node_module 3 years ago
angelFall.js push node_module 3 years ago
any.js push node_module 3 years ago
anyLimit.js push node_module 3 years ago
anySeries.js push node_module 3 years ago
apply.js push node_module 3 years ago
applyEach.js push node_module 3 years ago
applyEachSeries.js push node_module 3 years ago
async.js push node_module 3 years ago
async.min.js push node_module 3 years ago
asyncify.js push node_module 3 years ago
auto.js push node_module 3 years ago
autoInject.js push node_module 3 years ago
cargo.js push node_module 3 years ago
compose.js push node_module 3 years ago
concat.js push node_module 3 years ago
concatLimit.js push node_module 3 years ago
concatSeries.js push node_module 3 years ago
constant.js push node_module 3 years ago
createLogger.js push node_module 3 years ago
detect.js push node_module 3 years ago
detectLimit.js push node_module 3 years ago
detectSeries.js push node_module 3 years ago
dir.js push node_module 3 years ago
doDuring.js push node_module 3 years ago
doUntil.js push node_module 3 years ago
doWhilst.js push node_module 3 years ago
during.js push node_module 3 years ago
each.js push node_module 3 years ago
eachLimit.js push node_module 3 years ago
eachOf.js push node_module 3 years ago
eachOfLimit.js push node_module 3 years ago
eachOfSeries.js push node_module 3 years ago
eachSeries.js push node_module 3 years ago
ensureAsync.js push node_module 3 years ago
every.js push node_module 3 years ago
everyLimit.js push node_module 3 years ago
everySeries.js push node_module 3 years ago
fast.js push node_module 3 years ago
filter.js push node_module 3 years ago
filterLimit.js push node_module 3 years ago
filterSeries.js push node_module 3 years ago
find.js push node_module 3 years ago
findLimit.js push node_module 3 years ago
findSeries.js push node_module 3 years ago
foldl.js push node_module 3 years ago
foldr.js push node_module 3 years ago
forEach.js push node_module 3 years ago
forEachLimit.js push node_module 3 years ago
forEachOf.js push node_module 3 years ago
forEachOfLimit.js push node_module 3 years ago
forEachOfSeries.js push node_module 3 years ago
forEachSeries.js push node_module 3 years ago
forever.js push node_module 3 years ago
groupBy.js push node_module 3 years ago
groupByLimit.js push node_module 3 years ago
groupBySeries.js push node_module 3 years ago
inject.js push node_module 3 years ago
iterator.js push node_module 3 years ago
log.js push node_module 3 years ago
map.js push node_module 3 years ago
mapLimit.js push node_module 3 years ago
mapSeries.js push node_module 3 years ago
mapValues.js push node_module 3 years ago
mapValuesLimit.js push node_module 3 years ago
mapValuesSeries.js push node_module 3 years ago
memoize.js push node_module 3 years ago
nextTick.js push node_module 3 years ago
omit.js push node_module 3 years ago
omitLimit.js push node_module 3 years ago
omitSeries.js push node_module 3 years ago
package.json push node_module 3 years ago
parallel.js push node_module 3 years ago
parallelLimit.js push node_module 3 years ago
pick.js push node_module 3 years ago
pickLimit.js push node_module 3 years ago
pickSeries.js push node_module 3 years ago
priorityQueue.js push node_module 3 years ago
queue.js push node_module 3 years ago
race.js push node_module 3 years ago
reduce.js push node_module 3 years ago
reduceRight.js push node_module 3 years ago
reflect.js push node_module 3 years ago
reflectAll.js push node_module 3 years ago
reject.js push node_module 3 years ago
rejectLimit.js push node_module 3 years ago
rejectSeries.js push node_module 3 years ago
retry.js push node_module 3 years ago
retryable.js push node_module 3 years ago
safe.js push node_module 3 years ago
select.js push node_module 3 years ago
selectLimit.js push node_module 3 years ago
selectSeries.js push node_module 3 years ago
seq.js push node_module 3 years ago
series.js push node_module 3 years ago
setImmediate.js push node_module 3 years ago
some.js push node_module 3 years ago
someLimit.js push node_module 3 years ago
someSeries.js push node_module 3 years ago
sortBy.js push node_module 3 years ago
sortByLimit.js push node_module 3 years ago
sortBySeries.js push node_module 3 years ago
timeout.js push node_module 3 years ago
times.js push node_module 3 years ago
timesLimit.js push node_module 3 years ago
timesSeries.js push node_module 3 years ago
transform.js push node_module 3 years ago
transformLimit.js push node_module 3 years ago
transformSeries.js push node_module 3 years ago
tryEach.js push node_module 3 years ago
unmemoize.js push node_module 3 years ago
until.js push node_module 3 years ago
waterfall.js push node_module 3 years ago
whilst.js push node_module 3 years ago
wrapSync.js push node_module 3 years ago

README.md

Neo-Async

npm Travis Status Coverage Status download Code Quality: Javascript 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