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 .
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$);
Dans rxjs 6.5
import { combineLatest } from 'rxjs';
combineLatest([a$, b$, c$])
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))