Qu'est-ce que la fonction pipe() en angle 2?

Tuyaux sont des filtres pour transformer les données (formats) dans le modèle.

je suis tombé sur la fonction pipe() comme ci-dessous. Que signifie exactement cette fonction pipe () dans ce cas?

return this.http.get<Hero>(url)
  .pipe(
    tap(_ => this.log(`fetched hero id=${id}`)),
    catchError(this.handleError<Hero>(`getHero id=${id}`))
  );
28
demandé sur Vala Khosravi 2017-12-30 04:44:03

4 réponses

les Pipes dont vous parliez dans la description de départ sont différentes des pipes que vous avez montrées dans l'exemple.

en angulaire (2/4/5) les Pipes sont utilisées pour formater la vue comme vous l'avez dit. Je pense que vous avez la compréhension de base des pipes en angle, vous pouvez en apprendre plus à ce sujet de ce lien -Angulaire De La Pipe Doc

La pipe() vous l'ai montré dans l'exemple est un tuyau méthode de RxJS 5.5, et RxJS est par défaut pour chaque Angulaire apps. En angle 5 tous les opérateur peut être importé en utilisant l'importation simple et ils sont maintenant combinés en utilisant la méthode du tube.

tap() - RxJS l'opérateur tap va regarder la valeur Observable et fait quelque chose avec cette valeur. En langage simple, après une API réussie, l'opérateur tap () exécutera toutes les fonctions que vous voulez qu'il exécute avec la réponse. Dans l'exemple, il va juste enregistrer cette chaîne de caractères.

catchError () - catchError fait exactement la même chose mais avec une réponse d'erreur. Si vous voulez jeter une erreur ou souhaitez appel d'une fonction si vous obtenez l'erreur, vous pouvez le faire ici. Dans l'exemple, il appellera handleError() et à l'intérieur de celui-ci il enregistrera juste cette chaîne.

28
répondu BhargavG 2017-12-30 05:53:00

Ne pas confondre avec les concepts D'Angular et RxJS

nous avons le concept de pipes en angle et la fonction pipes() en RxJS

1) Pipes en angle: un tuyau prend des données en entrée et les transforme en sortie désirée

https://angular.io/guide/pipes

2) Fonction pipe () dans RxJS: vous pouvez utiliser des pipes pour relier les opérateurs ensemble. Tuyaux permettent de combiner plusieurs fonctions en une seule fonction. La fonction pipe () prend comme ses arguments les fonctions que vous souhaitez combiner, et retourne une nouvelle fonction qui, lorsqu'il est exécuté, exécute la composée de fonctions dans la séquence.

https://angular.io/guide/rx-library (recherche de tuyaux dans cette URL, vous pouvez trouver le même)

So according to your question, you are referring pipe() function in RxJS
17
répondu Shiva Nayak Dharavath 2018-07-03 07:24:10

les opérateurs sont des fonctions qui s'appuient sur la fondation observables pour permettre une manipulation sophistiquée des collections. Par exemple , RxJS définit des opérateurs tels que map (), filter (), concat (), et flatMap() . Vous pouvez utiliser des tuyaux pour relier les opérateurs ensemble. Tuyaux permettent de combiner plusieurs fonctions en une seule fonction.La fonction pipe () prend comme argument les fonctions que vous voulez combiner, et renvoie une nouvelle fonction qui, lorsqu'elle est exécutée, exécute les fonctions composées dans séquence.

2
répondu manoj 2018-08-21 04:03:21

vous devez consulter la documentation officielle de réactivation: https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md.

C'est un bon article sur la tuyauterie dans RxJS: https://blog.hackages.io/rxjs-5-5-piping-all-the-things-9d469d1b3f44.

En bref .pipe() permet de chaîner plusieurs opérateurs pipables.

à partir de la version 5.5 RxJS a expédié "opérateurs pipeable" et renommé certains opérateurs:

do -> tap
catch -> catchError
switch -> switchAll
finally -> finalize
1
répondu Oleksandr Sachuk 2018-07-27 12:02:26