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

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