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