3
votes

Quelle est la différence exacte entre le tuyau et la carte dans angulaire 7?

J'ai beaucoup cherché à ce sujet mais je ne parviens pas à trouver la différence entre pipe et map dans angular 7? Est-il nécessaire d'utiliser pipe dans le fichier Service.ts dans angular 7?

Merci


3 commentaires

Non, vous pouvez continuer sans utiliser de pipe. La carte consiste simplement à copier votre observable http dans la sortie souhaitée


Je pense que vous voulez dire RxJS pas Angular


Merci pour la réponse, mais j'ai besoin de savoir ce qu'il est préférable d'utiliser. Quelle est la différence majeure entre http observables utilisant un tube et sans utiliser un tube, c'est-à-dire une carte?


3 Réponses :


6
votes

Avec rxjs 5.5 et supérieur, si vous voulez utiliser n'importe quel opérateur sur une observable, il vous suffit de les diriger. Donc, ici map n'est qu'un de ces opérateurs dans le pipe.

ex:

const example = source.map(val => val + 10).first();

Pour les versions antérieures de rxjs il n'y avait pas de mot-clé pipe , plusieurs opérateurs ont été combinés en utilisant la notation .

ex:

XXX


0 commentaires

3
votes

pour une brève explication, pipe dans RxJS , est utilisé pour intercepter le résultat et le modifier à l'aide des opérateurs RxJS de sorte que lorsque vous y souscrivez vous obtiendrez le résultat final équivalent aux opérateurs logiques que vous avez définis dans l'exemple de pipe map , tap et bien d'autres.

pour le guide de pratique angulaire, vérifiez-le ici https://angular.io/guide/rx-library

vous pouvez voir la liste des opérateurs ici https://www.learnrxjs.io/operators/


2 commentaires

Merci pour la réponse pouvez-vous donner des liens si vous avez?


Je viens d'ajouter les liens dans ma réponse



2
votes

map (), filter (), concat () et flatMap () ce sont les opérateurs proposés par la bibliothèque RxJS. Vous pouvez utiliser des tuyaux pour relier ces opérateurs entre eux. Les tubes vous permettent de combiner plusieurs fonctions en une seule fonction comme suit:

import { filter, map } from 'rxjs/operators';

const squareOddVals = pipe(
filter((n: number) => n % 2 !== 0),
map(n => n * n)
);


0 commentaires