J'ai ce code ci-dessous, je l'ai fait et ajouté en même temps, et j'utilise add comme méthode pour arrêter de charger le spinner lorsque j'appelle le contrôleur car cela semble être la bonne façon d'arrêter de charger le spinner si il existe Il y a un problème avec l'appel provenant du contrôleur car Add() est toujours appelé.
Mais je veux savoir à quoi sert complete et dois-je l'utiliser au lieu d'ajouter pour empêcher mon spinner de tourner côté client ? Quelle est la différence entre ajouter et compléter ?
this.loadingSpinner = true; this.membersService.getMemberProfile().subscribe({ next: (v) => { // load profile into form }, error: (e) => { console.error(e); }, complete: () => { this.loadingSpinner = false; } }).add(() => { this.loadingSpinner = false; });
Observable.subscribe renvoie un objet Subscription et Subscription.add est un moyen d'indiquer à un abonnement d'effectuer certaines actions en cas de désabonnement.
Observer.complete est appelé lorsque l'observable est appelé pour écouter l'achèvement réussi .
Donc, pour votre code,
.add()
fonctionne mieux car il sera appelé s'il y a une erreur ou s'il se termine avec succès.