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