Je reçois des données de mon service et j'ai le rouge sur le fait qu'il est important de se désinscrire après s'être abonné, et voici comment je l'ai fait:
export class RItemComponent implements OnInit {
apiPath = environment.apiUrl;
private ngUnsubscribe: Subject = new Subject();
constructor(private _sharedService: SharedService) { }
rItems: Product[];
ngOnInit() {
this._sharedService.
getReceiptItem().takeUntil(this.ngUnsubscribe).
subscribe(products => this.rItems = products);
}
ngOnDestroy() {
this.ngUnsubscribe.next();
this.ngUnsubscribe.complete();
}
}
Mais maintenant, je reçois une erreur:
Le sujet de type générique nécessite 1 argument (s) de type. souscrire
Je ne comprends pas pourquoi?
Toute aide serait géniale, merci!
La classe Subject
a un paramètre de type générique dans TypeScript. Cela signifie que les instances de cette classe ne peuvent être créées qu'en passant un paramètre de type supplémentaire, comme ceci:
private ngUnsubscribe: Subject<MyClass> = new Subject();
Ajouter un type générique pour le sujet
private ngUnsubscribe: Subject<any> = new Subject();