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