web-dev-qa-db-fra.com

combineLatest déconseillé en faveur de static combineLatest

Après avoir exécuté l'outil de migration rxjs à l'aide de

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

Je reçois maintenant une erreur de peluches:

combineLatest est obsolète: Déconseillé en faveur de static combineLatest.

Voici mon code avant d'exécuter la commande de migration:

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;
    });

Mon code après l'exécution de la commande de migration: (présente actuellement une erreur de repliement)

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;
    });

La question a été posée dans ces questions de stackoverflow, mais elle n’était pas assez spécifique: Erreurs et avertissements de duplication angulaire de 6 nint de peluche, combiner la dernière est obsolète .

24
Samer s Salib

Mise à jour: Veuillez vous référer à réponse de frirman


J'ai trouvé une réponse dans cet article intitulé: RxJS 6: Quoi de neuf et qu'est-ce qui a changé? (qui vient de document officiel ):

La solution consiste à convertir:

import { combineLatest } from 'rxjs/operators';

a$.pipe(combineLatest(b$, c$));

dans:

import { combineLatest } from 'rxjs';

combineLatest(a$, b$, c$);
44
Samer s Salib

Dans rxjs 6.5

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

17
ofir fridman

version rxjs 6.4.0

et vous devez importer l'opérateur de la carte des opérateurs RxJs et ce sera un travail

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