1
+ var noop = function ( ) { } ;
1
2
2
- require ( {
3
- baseUrl : '../../' ,
4
- paths : {
5
- 'benchmark' : '../../assets/benchmark/benchmark' ,
6
- 'platform' : '../../assets/platform/platform' ,
7
- 'lodash' : '../../assets/lodash' ,
8
- 'rx2' : '../../assets/rxjs2/rx' ,
9
- 'perf-helpers' : '../perf/perf-helpers'
3
+ var Rx3TestObservable = new Observable ( function ( generator ) {
4
+ debugger
5
+ var i = 1000 ;
6
+ while ( i -- ) {
7
+ generator . next ( i ) ;
10
8
}
11
- } ,
12
- [ 'benchmark' , 'src/observable/observable' , 'src/subscription/subscription' , 'rx2' , 'perf-helpers' ] ,
13
- function ( Benchmark , observable , Subscription , Rx , helpers ) {
14
- var Observable = observable . Observable ;
15
- var printLn = helpers . printLn ;
16
9
17
- printLn ( 'starting tests' ) ;
18
- var suite = new Benchmark . Suite ;
10
+ generator . return ( ) ;
19
11
12
+ //HACK: junk subscription
13
+ return new Subscription ( noop ) ;
14
+ } ) ;
20
15
21
- var noop = function ( ) { } ;
22
-
16
+ var Rx2TestObservable = Rx . Observable . create ( function ( observer ) {
17
+ var i = 1000 ;
18
+ while ( i -- ) {
19
+ observer . onNext ( i ) ;
20
+ }
23
21
24
- var testObservable = new Observable ( function ( generator ) {
25
- generator . next ( 42 ) ;
26
- generator . return ( ) ;
22
+ observer . onCompleted ( ) ;
27
23
28
- //HACK: junk subscription
29
- return new Subscription ( noop ) ;
30
- } ) ;
24
+ //HACK: junk subscription
25
+ return new noop ;
26
+ } ) ;
31
27
32
- var projection = function ( x ) {
33
- return new Observable ( function ( generator ) {
34
- var tid = setTimeout ( function ( ) {
35
- generator . next ( x + '!!!' ) ;
36
- generator . return ( ) ;
37
- } ) ;
38
- return new Subscription ( function ( ) {
39
- clearTimeout ( tid ) ;
40
- } ) ;
28
+ var projectionRx3 = function ( x ) {
29
+ debugger
30
+ return new Observable ( function ( generator ) {
31
+ var tid = setTimeout ( function ( ) {
32
+ console . log ( 'timeout' ) ;
33
+ generator . next ( x + '!!!' ) ;
34
+ generator . return ( ) ;
35
+ } ) ;
36
+ return new Subscription ( function ( ) {
37
+ clearTimeout ( tid ) ;
41
38
} ) ;
42
- } ;
39
+ } ) ;
40
+ } ;
43
41
44
- var rx2TestObservable = Rx . Observable . just ( 42 ) ;
42
+ var projectionRx2 = function ( x ) {
43
+ return Rx . Observable . create ( function ( observer ) {
44
+ var tid = setTimeout ( function ( ) {
45
+ observer . onNext ( x + '!!!' ) ;
46
+ observer . onCompleted ( ) ;
47
+ } , 0 ) ;
45
48
46
- suite .
47
- add ( 'Observable.flatMap' , function ( d ) {
48
- testObservable . flatMap ( projection ) . observer ( {
49
- next : noop ,
50
- error : noop ,
51
- return : noop
52
- } ) ;
53
- } ) .
54
- add ( 'RxJS 2 Observable.flatMap' , function ( d ) {
55
- rx2TestObservable . flatMap ( function ( x ) {
56
- return Observable . create ( function ( observer ) {
57
- var tid = setTimeout ( function ( ) {
58
- observer . onNext ( x + '!!!' ) ;
59
- observer . onCompleted ( ) ;
60
- } , 0 ) ;
49
+ return function ( ) {
50
+ clearTimeout ( tid ) ;
51
+ }
52
+ } ) ;
53
+ } ;
61
54
62
- return function ( ) {
63
- clearTimeout ( tid ) ;
64
- }
65
- } ) ;
66
- } ) . forEach ( noop , noop , noop ) ;
67
- } )
55
+ var rx3FlatMap = document . querySelector ( '#rx-3-flatmap' ) ;
56
+ var rx2FlatMap = document . querySelector ( '#rx-2-flatmap' ) ;
57
+ rx3FlatMap . addEventListener ( 'click' , function ( ) {
58
+ debugger
59
+ console . log ( 'rx3 clicked' ) ;
60
+ Rx3TestObservable . flatMap ( projectionRx3 ) . observer ( {
61
+ next : noop ,
62
+ error : noop ,
63
+ return : noop
64
+ } ) ;
65
+ } ) ;
68
66
69
- suite .
70
- on ( 'cycle' , function ( event ) {
71
- printLn ( String ( event . target ) ) ;
72
- } ) .
73
- on ( 'complete' , function ( ) {
74
- printLn ( 'Fastest is ' + this . filter ( 'fastest' ) . pluck ( 'name' ) ) ;
75
- } )
76
- . run ( { async : true } ) ;
77
- } ) ;
67
+ rx2FlatMap . addEventListener ( 'click' , function ( ) {
68
+ console . log ( 'rx2 clicked' ) ;
69
+ Rx2TestObservable . flatMap ( projectionRx2 ) .
70
+ forEach ( noop , noop , noop ) ;
71
+ } ) ;
0 commit comments