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