RxJs simple example with array

by vintharas

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.1.0/rx.all.js"></script>

Babel + JSX

// An array
var numbers = [1,2,3,4,5,6]

var result = numbers
   .filter(n => n > 3)
   .reduce((a,x) => a+x, 0)
  
console.log(numbers) // => 1,2,3,4,5,6
console.log(result)  // => 15

// A stream
var numbers$ = Rx.Observable
  .interval(500)
  .take(6)
  .map(i => numbers[i]);
  
var result$ = numbers$
  .filter(n => n > 3)
  .reduce((a,x) => a+x, 0);
  
numbers$.subscribe(n => console.log(n));
// => 1
// => 2
// => 3... etc
result$.subscribe(n => console.log(n));
// =. 15