Подтвердить что ты не робот

КомбинацияLatest устарела в пользу статического combLatest

После запуска утилиты миграции rxjs, используя

rxjs-5-to-6-migrate -p src/tsconfig.app.json

Теперь я получаю ошибку:

КомпонентLalest устарел: устарел в пользу статического combLatest.

Вот мой код перед запуском команды миграции:

this.store.combineLatest(
        this.store.select(lang.getCurrent),
        this.store.select(lang.getCurrentLocale)
    ).subscribe(([state, currentLang, locale]) => {
        this._language = session.language === currentLang ? '' : currentLang;
        this._locale = session.locale === locale ? '' : locale;
    });

Мой код после запуска команды миграции: (в настоящее время отображается ошибка перебора)

import {map, combineLatest} from 'rxjs/operators';
this.store.combineLatest(
        this.store.select(lang.getCurrent),
        this.store.select(lang.getCurrentLocale)
    ).subscribe(([state, currentLang, locale]) => {
        this._language = session.language === currentLang ? '' : currentLang;
        this._locale = session.locale === locale ? '' : locale;
    });

Вопрос задавался в этих вопросах stackoverflow, но он не был достаточно конкретным: угловые 6 ng lint дублируют ошибки и предупреждения, combLatest устарел.

4b9b3361

Ответ 2

rxjs версия 6.4.0

и вы должны импортировать оператор карты из операторов RxJs, и это будет работать

combineLatest(a$, b$, c$).pipe(map([a, b, c]) => treat(a, b, c))

Ответ 3

В rxjs 6.5

import { combineLatest } from 'rxjs';
combineLatest([a$, b$, c$])