Многоадресный оператор с конвейером в RxJS 5.5+ - PullRequest
0 голосов
/ 04 мая 2018

Как мне использовать оператор multicast() с новым рекомендуемым подходом в RxJS 5.5 с использованием pipe() вместо операторов цепочки? Я получаю ошибку TypeScript, когда пытаюсь использовать connect(), как я делал раньше:

const even$ = new Subject();

const connectedSub = interval(500)
    .pipe(
        filter(count => count % 2 === 0),
        take(5),
        multicast(even$)
    )
    .connect();

even$.subscribe(value => console.log(value));

Этот код работает, но выдает ошибку TypeScript, которая сообщает, что Property 'connect' does not exist on type 'Observable<{}>'. Использую ли я подключаемые наблюдаемые так, как я должен быть в RxJS 5.5 +?

1 Ответ

0 голосов
/ 04 мая 2018

Текущие - v5.5.10 и v6.1.0 - наборы для pipe не знают о подклассах Observable, поэтому я использую утверждение типа, например:

const connectedObs = interval(500).pipe(
    filter(count => count % 2 === 0),
    take(5),
    multicast(even$)
) as ConnectableObservable<number>;
const connectedSub = connectedObs.connect();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...