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

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