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