Comment la chaîne Http appels en Angular2?
Je suis nouveau sur Angular2 et Http Observables. J'ai un composant qui appelle le service Http et retourne Observables. Que je vous abonner à cette Observable et il fonctionne très bien.
Maintenant, je veux,dans cette composante, après la convocation de la première service Http,si l'appel est un succès, appeler d'autres services Http et de retour que Observables. Donc, si le premier appel n'est pas le succès de la composante renvoie que Observables, en face il retourne Observables de la deuxième appel.
Donc, la question est, quelle est la meilleure façon de la chaîne Http appels? Est-il une manière élégante, comme les monades?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela en utilisant la
mergeMap
opérateurPremière importation, l'opérateur comme suit:
import 'rxjs/add/operator/mergeMap';
Puis ici, c'est comment vous enchaînez deux appels:
Un peu plus de détails ici: http://www.syntaxsuccess.com/viewarticle/angular-2.0-and-http
Plus d'informations sur le mergeMap opérateur peut être trouvé ici
À l'aide de rxjs pour faire le travail est une assez bonne solution. Est-il facile à lire ? Je ne sais pas.
Une autre façon de faire cela et plus lisible (à mon avis) est d'utiliser attendent/async.
Exemple :
Ensuite l'appeler 🙂
ou dans une fonction async
Vous pouvez également utiliser try/catch pour gérer erreur :
Vous pourriez aussi la chaîne des Promesses trop. Par cet exemple