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

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