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

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