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

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