Je tente de faire ce qui suit avec des observables et je ne parviens pas à trouver la meilleure façon de le faire :
Je fais appel à un point de terminaison de connexion en utilisant http. Ce service renverra un jeton. Je veux effectuer 2 actions différentes à partir de 2 points différents dans l'application de manière séquentielle : lorsque http résout, je dois stocker le jeton fourni, puis afficher un message. J'ai essayé ce qui suit :
return this.http.get(this.config.getApi('login'), params)
.map(response => response.json())
.do((data) => {
// Stocker le jeton ici
// En cas d'échec, renvoyer une erreur
// J'ai essayé Observable.throw ici mais l'abonné ne le reçoit pas.
}).subscribe(
(data) => {
// Tout s'est bien passé
},
() => {
// Soit la requête http a échoué, soit
// le processus de stockage du jeton a généré une erreur.
}
);
Malheureusement, les abonnés à l'observable retourné ne reçoivent jamais d'erreur à moins que l'appel http échoue. Quel opérateur devrais-je utiliser à la place de do ?
Merci.