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

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