подготовил Лазарев Дмитрий / 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