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 ?