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

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