J'essaie de chaîner deux observables. Je travaille avec le framework Ionic2. Le premier observable essaie d'obtenir un jeton d'accès à partir d'un appareil mobile puis le second observable appelle ensuite l'API avec ce jeton d'accès. Mais pour une raison quelconque, le second observable n'est jamais appelé même si je suis abonné à la chaîne.Chaînage de deux observables http et stockage
Qu'est-ce qui me manque?
this.observableChain = Observable.fromPromise(this.storage.get('accessToken'))
.map(accessToken => this.http.post('http://1234/user/login', {'accessToken': accessToken}))
.subscribe(function(result) {
console.log(result);
}, function(error) {
console.log(error);
});
Merci d'avance.
Avez-vous essayé 'flatMap()' 'au lieu de la carte()'? – Brad
Flatmap l'avait corrigé. Merci beaucoup. Pourriez-vous m'expliquer pourquoi cela l'a corrigé? – Twoez
Je pourrais essayer de l'expliquer, mais je suis en train d'apprendre Observables moi-même en utilisant Ionic2 donc j'espère que ce lien vous aide - http://reactivex.io/documentation/operators/flatmap.html. La règle simple est que si vous avez besoin de renvoyer le flux d'un autre observable (ou dans votre cas faire une autre requête http) alors 'flatMap()' est votre ami. Je peux l'afficher comme réponse si vous le souhaitez. – Brad