web-dev-qa-db-fra.com

Angular 6 - ForkJoin n'a aucun membre exporté.

J'ai mis à jour à Angular 6 et j'essaie d'utiliser ForkJoin, alors sur mon service, j'ai:

import { forkJoin } from 'rxjs/observable/forkJoin';

Mais ce n'est pas reconnaître est et je reçois:

...ForkJoin has no exported member

Comment puis-je réparer cela?

16
Craig2018

Modifiez votre importation en -

import {forkJoin} from 'rxjs';

Rxjs 6, ainsi que des chemins d'importation plus simples, ont maintenant des méthodes d'opérateur plus faciles à utiliser. Vous ne devez pas utiliser le correctif Observable maintenant.

Donc au lieu de:

return Observable.forkJoin( this.http.get('jsonplaceholder.typicode.com/posts'), this.http.get('jsonplaceholder.typicode.com/users') ); 

Vous pouvez simplement utiliser:

return forkJoin(this.http.get('jsonplaceholder.typicode.com/posts'), this.http.get('jsonplaceholder.typicode.com/users'));

J'espère que cela t'aides!

39
Suvendu

RxJS 6 a de nouveaux chemins d'importation plus simples et s'éloigne des opérateurs chaînables au profit des opérateurs raccordables. Cela rend la bibliothèque dans son ensemble plus arborescente et donnera des paquets plus petits.

Changez votre import comme ci-dessous et cela devrait fonctionner

import { forkJoin } from 'rxjs';

Quelques exemples supplémentaires sur rxjs lors de la mise à niveau vers angular

// creation and utility methods
import { Observable, Subject, pipe } from 'rxjs';
// operators all come from `rxjs/operators`
import { map, takeUntil, tap } from 'rxjs/operators';

Réponse source - Mise à niveau et résumé des nouvelles fonctionnalités

3
Saiyaff Farouk