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

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