Skip to content

Instantly share code, notes, and snippets.

@ChuckBryan
Created November 21, 2017 03:31
Show Gist options
  • Save ChuckBryan/a6a790a0e998e412693660fda1a2a5f1 to your computer and use it in GitHub Desktop.
Save ChuckBryan/a6a790a0e998e412693660fda1a2a5f1 to your computer and use it in GitHub Desktop.
import { Observable } from 'rxjs';
/* import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter'; */
let numbers = [1, 5, 10];
let source = Observable.create(observer => {
let index = 0;
let produceValue = () => {
observer.next(numbers[index++]);
if (index < numbers.length) {
setTimeout(produceValue(), 250);
} else {
observer.complete();
}
}
produceValue();
}).map(n => n * 2)
.filter(n => n > 4);
source.subscribe(
value => console.log(`value: ${value}`),
e => console.log(`error: ${e}`),
() => console.log(`complete`)
);
/* class MyObserver implements Observer<number> {
next(value) {
console.log(`value: ${value}`);
}
error(e) {
console.log(`error: ${e}`);
}
complete() {
console.log(`complete`);
}
} */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment