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

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