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

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