Você está certo, a documentação carece desses métodos. No entanto, quando procurei no repositório rxjs, encontrei bons comentários sobre operadores de torneira (muito tempo para colar aqui) e de pipe :
/**
* Used to stitch together functional operators into a chain.
* @method pipe
* @return {Observable} the Observable result of all of the operators having
* been called in the order they were passed in.
*
* @example
*
* import { map, filter, scan } from 'rxjs/operators';
*
* Rx.Observable.interval(1000)
* .pipe(
* filter(x => x % 2 === 0),
* map(x => x + x),
* scan((acc, x) => acc + x)
* )
* .subscribe(x => console.log(x))
*/
Em resumo:
Tubo : Usado para unir operadores funcionais em uma corrente. Antes que pudéssemos fazer isso observable.filter().map().scan()
, mas como todo operador RxJS é uma função autônoma e não um método do Observable, precisamospipe()
criar uma cadeia desses operadores (veja o exemplo acima).
Tocar : pode executar efeitos colaterais com os dados observados, mas não modifica o fluxo de forma alguma. Anteriormente chamado do()
. Você pode pensar nisso como se o observável fosse uma matriz ao longo do tempo, então tap()
seria equivalente a Array.forEach()
.