n class="time-since" title="Tue, 29 May 2018 13:12:10 CST">7 years ago safe.js 11e3a9652a first 7 years ago select.js 11e3a9652a first 7 years ago selectLimit.js 11e3a9652a first 7 years ago selectSeries.js 11e3a9652a first 7 years ago seq.js 11e3a9652a first 7 years ago series.js 11e3a9652a first 7 years ago setImmediate.js 11e3a9652a first 7 years ago some.js 11e3a9652a first 7 years ago someLimit.js 11e3a9652a first 7 years ago someSeries.js 11e3a9652a first 7 years ago sortBy.js 11e3a9652a first 7 years ago sortByLimit.js 11e3a9652a first 7 years ago sortBySeries.js 11e3a9652a first 7 years ago timeout.js 11e3a9652a first 7 years ago times.js 11e3a9652a first 7 years ago timesLimit.js 11e3a9652a first 7 years ago timesSeries.js 11e3a9652a first 7 years ago transform.js 11e3a9652a first 7 years ago transformLimit.js 11e3a9652a first 7 years ago transformSeries.js 11e3a9652a first 7 years ago tryEach.js 11e3a9652a first 7 years ago unmemoize.js 11e3a9652a first 7 years ago until.js 11e3a9652a first 7 years ago waterfall.js 11e3a9652a first 7 years ago whilst.js 11e3a9652a first 7 years ago wrapSync.js 11e3a9652a first 7 years ago

README.md

Neo-Async

npm Travis Codecov Dependency Status npm

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

$ git clone git@github.com:suguru03/async-benchmark.git
$ cd async-benchmark
$ npm install
$ node . // It might take more than one hour...

Environment

  • Ubuntu v12.04
  • Node.js v6.2.1
  • async v2.0.0-rc.6
  • neo-async v2.0.0-rc.1
  • benchmark v2.1.0
  • func-comparator v0.7.1

Result

Neo-Async is 1.27 ~ 10.7 times faster than Async.

The value is the ratio (Neo-Async/Async) of the average speed.

Collections

function benchmark func-comparator
each 3.71 2.54
eachSeries 2.14 1.90
eachLimit 2.14 1.88
eachOf 3.30 2.50
eachOfSeries 1.97 1.83
eachOfLimit 2.02 1.80
map 4.20 4.11
mapSeries 2.40 3.65
mapLimit 2.64 2.66
mapValues 5.71 5.32
mapValuesSeries 3.82 3.23
mapValuesLimit 3.10 2.38
filter 8.11 8.76
filterSeries 5.79 4.86
filterLimit 4.00 3.32
reject 9.47 9.52
rejectSeries 7.39 4.64
rejectLimit 4.54 3.49
detect 6.67 6.37
detectSeries 3.54 3.73
detectLimit 2.38 2.62
reduce 4.13 3.23
reduceRight 4.23 3.24
transform 5.30 5.17
sortBy 2.24 2.37
some 6.39 6.10
someSeries 5.37 4.66
someLimit 3.39 2.84
every 6.85 6.27
everySeries 4.53 3.90
everyLimit 3.36 2.75
concat 9.18 9.35
concatSeries 7.49 6.09

Control Flow

funciton benchmark func-comparator
parallel 7.54 5.45
series 3.29 2.41
waterfall 5.12 4.27
whilst 1.96 1.95
doWhilst 2.07 1.96
until 2.10 1.99
doUntil 1.98 2.04
during 10.7 7.09
doDuring 5.98 6.03
queue 1.83 1.75
priorityQueue 1.79 1.75
times 3.84 3.65
race 1.45 1.27
auto 3.23 3.50
retry 9.43 6.78
Kodo/kodo - Gogs: Go Git Service

1 Revīzijas (f6e726578d45f3ad3ec23fafba0ba73f242dc175)

Autors SHA1 Ziņojums Datums
  Brightcells 564ff620d7 Add unique_together = (('group_id', 'user_id'),) for GroupUserInfo 8 gadi atpakaļ