Обнаружены вполне естественно, если они построены из конечных данных.Как onComplete действительно работает в RxJS
import {Observable, Subject} from "rx";
let stream0$ = Observable.of("1", "2", "3");
let stream1$ = stream0$.map(x => x);
stream1$.subscribe(
(val) => { console.log("onNext", val) },
(err) => { console.log("onError", err) },
() => { console.log("onCompleted") }
);
// onNext 1
// onNext 2
// onNext 3
// onCompleted
Или нет, если нет. Но как насчет наблюдаемых подписчиков на темы? Например:
import {Observable, Subject} from "rx";
let subj$ = new Subject();
let stream1$ = subj$.map(x => x);
stream1$.subscribe(
(val) => { console.log("onNext", val) },
(err) => { console.log("onError", err) },
() => { console.log("onCompleted") }
);
subj$.onNext("foo");
// onNext foo
"OnCompleted" не зарегистрирован, хотя источник закончился. Можем ли мы передать это событие «конец» на stream1$
. Я не нашел никакой информации об этом важном материале в документах. Было бы здорово увидеть такую диаграмму, как здесь, Hot and Cold observables : are there 'hot' and 'cold' operators?, чтобы прибить этот поток событий.
Да, но почему "OnCompleted" не передается вниз по течению, как "onNext" делает? Вероятно, вы неправильно поняли мой вопрос. –
? Если вы выполняете 'subj $ .onCompleted();' it should. Это не? Ср http://jsfiddle.net/zrLn7b5t/1/ – user3743222
Да, я был неправ. Все работает так, как ожидалось. –