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

README.md

Neo-Async

npm Travis Status Coverage Status download

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