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

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