Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilização do método pipe() do RXJS

Na demonstração da classe 'user-not-taken.validation.service.ts', no método 'checkUserNameTaken()', o professor utilizou mais de uma vez o método pipe() ao tratar do Observable. Ex:

return control
                .valueChanges
                .pipe(debounceTime(300))
                .pipe(switchMap(userName => 
                    this.signUpService.checkUserNameTaken(userName)
                ))
                .pipe(map(isTaken => isTaken ? { userNameTaken: true } : null))
                .pipe(first())

Sendo que utilizando apenas um pipe(), também tem o mesmo funcionamento.

 return control
                .valueChanges
                .pipe(
                    debounceTime(300),
                    switchMap(userName => this.signUpService.checkUserNameTaken(userName)),
                    map(isTaken => isTaken ? { userNameTaken: true } : null),
                    first()
                )

Isso se trata de alguma boa pratica ? Qual a razão ?

1 resposta
solução!

Fala ai Henrique, tudo bem? Sim, é uma boa prática a gente definir um pipe por responsabilidade, dessa forma fica mais visivel o que cada pipe (passo) está fazendo e mais simples caso precisamos adicionar ou mover algum pipe de lugar.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software