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