Je suis le tutoriel sur https://angular.io et j'ai du mal à trouver de la documentation; spécifiquement pour les méthodes pipe
et tap
. Je ne trouve rien sur https://angular.io ou http://reactivex.io/rxjs/ .
Je comprends cela pipe
et tap
les deux méthodes sont-elles Observable
importées de RxJS, n'est-ce pas? Que sont-ils censés faire?
Ces méthodes font-elles partie d'Angular? Que font ces deux méthodes?
Réponses:
Vous avez raison, la documentation manque de ces méthodes. Cependant, lorsque j'ai creusé dans le référentiel rxjs, j'ai trouvé de bons commentaires sur tap (trop long à coller ici) et les opérateurs de tuyaux :
En bref:
Tuyau : utilisé pour assembler des opérateurs fonctionnels dans une chaîne. Avant de pouvoir le faire
observable.filter().map().scan()
, mais comme chaque opérateur RxJS est une fonction autonome plutôt qu'une méthode Observable, nous devonspipe()
créer une chaîne de ces opérateurs (voir l'exemple ci-dessus).Tap : peut effectuer des effets secondaires avec les données observées mais ne modifie en aucune façon le flux. Anciennement appelé
do()
. Vous pouvez y penser comme si observable était un tableau au fil du temps, alorstap()
serait un équivalent àArray.forEach()
.la source
do
rebaptiséstap
... Bref, c'est un gâchis. github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.mdfilter
fonctionne exactement commeArray.filter
- ne conserve que les valeurs remplissant la règle (dans ce cas divisibles par 2);map
(encore une foisArray.map
) change chaque valeur (dans ce cas l'ajoute à lui-même);scan
est le plus intéressant et voici une belle explication: learnrxjs.io/operators/transformation/scan.html