RxJS Demos
combineLatest
by dream apple
HTML
<script src="https://cdn.bootcss.com/rxjs/5.0.0-rc.1/Rx.min.js"></script>
JavaScript
// 第一个stream 或者说observable
let stream1 = Rx.Observable.create((observer) => {
let a = 0;
setInterval(() => {
a = a + 3;
observer.next(a);
}, 2000);
});
// 第二个stream
let stream2 = Rx.Observable.create((observer) => {
let b = 10;
setInterval(() => {
b = b + 10;
observer.next(b);
}, 1000);
});
let newStream = Rx.Observable.combineLatest(stream1, stream2, (a, b) => {
console.log('a -> ' + a, 'b -> ' + b);
return a + b;
});
newStream.subscribe((r) => console.log(r));