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

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