-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
72 lines (56 loc) · 1.59 KB
/
Copy pathmain.js
File metadata and controls
72 lines (56 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
let button = document.getElementById('myButton');
// button.addEventListener('click', (event) => console.log(event));
// Observable created with `fromEvent`
/*
=============================
onClick Observale with `fromEvent` - EXAMPLE 1
=============================
Rx.Observable.fromEvent(button,'click')
.map(event => event.screenX)
.subscribe(
v => { console.log(v) },
e => { console.log(e) },
() => { console.log('complete') }
);
*/
/*
=============================
onClick Observale for button - simulate `fromEvent` - EXAMPLE 1
=============================
let observer = { // our own observer object
next: function(value) {
console.log(value);
},
error: function(error) {
console.log(error);
},
complete: function() {
console.log('completed.');
}
};
Rx.Observable.create(subscriber => {
button.onclick = function(event) {
subscriber.next(event);
}
})
.throttleTime(2000) // 2 seconds delay here
.map(event => event.screenX)
//.filter(v => true)
.subscribe(observer);
*/
/*
=============================
Subject
=============================
*/
let subject = new Rx.Subject();
subject
.map((event) => event.event) // we can also use map() and etc ... with SUBJECT
.subscribe((event) => console.log('subsciber 1 ' + event));
subject.subscribe((event) => console.log('subscribe 2 ' + event));
// Both subscirbers are receiving the data
subject.next({ event: 'test_event'});
let observable = Rx.Observable.create(subscriber => {
subscriber.next(Math.random());
});
observable.subscribe(subject);