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