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

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