UNPKG

958 BJavaScriptView Raw
1
2var co = require('./');
3var Q = require('q');
4
5function fun(done) {
6 done();
7}
8
9function *gen() {
10
11}
12
13function getPromise(val, err) {
14 return Q.fcall(function(){
15 if (err) throw err;
16 return val;
17 });
18}
19
20exports.compare = {
21 'function delegation': function(done){
22 co(function *(){
23 yield fun;
24 yield fun;
25 yield fun;
26 }, done);
27 },
28
29 'function delegation thunk': function(done){
30 co(function *(){
31 yield fun;
32 yield fun;
33 yield fun;
34 })(done);
35 },
36
37 'function delegation join': function(done){
38 co(function *(){
39 yield [fun, fun, fun];
40 }, done);
41 },
42
43 'promise delegation': function(done){
44 co(function *(){
45 yield getPromise(1);
46 yield getPromise(2);
47 yield getPromise(3);
48 }, done);
49 },
50
51 'generator function delegation': function(done){
52 co(function *(){
53 yield gen;
54 yield gen;
55 yield gen;
56 }, done);
57 }
58};
59
60require('bench').runMain();
\No newline at end of file