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

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