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

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