On Github 7235200 / rxjs-techtalk
подготовил Лазарев Дмитрий / dlazarev@ptsecurity.com
обработка параллельных потоков данных
RxJS
Reactive Extensions for Javascript
(Observer + Iterator)
pull
push
3 этапа жизни Observable
let source = Rx.Observable.create(observer => { observer.onNext(42); observer.onCompleted(); return () => console.log('disposed'); });
let subscription = source.subscribe( x => console.log('onNext: %s', x), e => console.log('onError: %s', e), () => console.log('onCompleted') ); // => onNext: 42 // => onCompleted
subscription.dispose(); // => disposed
Function ?
func.call() // Верни мне значение прямо сейчас (синхронно)
obsv.subscribe() // Верни мне значение. // Возможно несколько значений. // Возможно прямо сейчас. // Возможно потом как-нибудь
функция, которая при вызове возвращает от 0 до бесконечности значений за промежуток времени от сейчас до бесконечности
Методы Observable, которые позволяют создавать и преобразовывать observables
let result = source.myOperator(); // result - Observable, который преобразует значения source и возвращает их
result.subscribe(); // Подписываясь на result - подписываемся и на source
result.unsubscribe(); // Отписываясь от result - отписываемся и от source
RxJS 5.0 beta