Nesta linha:
pipe(switchMap(route => route.data))
Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
Nesta linha:
pipe(switchMap(route => route.data))
Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
Fala ai Pedro, tudo bem? Vamos lá:
Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
O switchMap
recebe um Observable
e devolve um novo, nesse cenário, ele está recebendo um Observable
do map
anterior:
.pipe(map(() => this.activatedRoute))
Como valor desse Observable
está chegando o activatedRoute
e ele está devolvendo um Observable
novo que vai conter as informações da rota: route.data
.
Espero te ajudado.
Mas o map anterior não é esse?
.pipe(map(route => {
while(route.firstChild) route = route.firstChild;
return route;
}))
Além disso, o map
.pipe(map(() => this.activatedRoute))
Só foi feito para devolver um Observable com o valor de this.activatedRoute? Se sim, por que não usar esse valor direto da variável que foi injetada?
Fala Pedro, vamos lá:
Mas o map anterior não é esse?
Sim, você está certo, acabei pegando uma parte do código na transcrição que não estava completa, o map
anterior é exatamente esse, falha minha.
Só foi feito para devolver um Observable com o valor de this.activatedRoute? Se sim, por que não usar esse valor direto da variável que foi injetada?
Isso já envolve a maneira como cada um escreve seus códigos e lógicas, durante a aula o instrutor achou melhor fazer dessa maneira, assim conseguimos enxergar o fluxo através do cadeias de pipe
.
O mesmo poderia ser escrito de outros N jeitos, vai como cada um gosta e tem seus estilos pessoais.
Espero ter ajudado.
Entendo, muito obrigado.
Magina Pedro, sempre que precisar não deixe de criar suas dúvidas.
Abraços e bons estudos.