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