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