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

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