Gostaria que me explicassem ponto a ponto a parte do código da aula: this.user$.subscribe(user => this.user = user);
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Gostaria que me explicassem ponto a ponto a parte do código da aula: this.user$.subscribe(user => this.user = user);
Fala ai Mauricio, tudo bem? Vamos lá.
O this.user$ é um Observable e uma das funções disponibilizadas pela classe Observable é a subscribe.
Basicamente a subscribe fica ouvindo quando o seu Observable tem um novo valor, ou seja, quando ele executa o .next.
Seria algo simiular a Promise, onde a Promise seria um Observable e o .then seria o .subscribe (apenas uma analogia, o funcionamento por baixo e a ideia de ambos são diferentes).
Quando você faz: this.user$.subscribe(user => this.user = user) você registrou uma nova função que ficará ouvindo e esperando por novos valores vindo do seu Observable no caso o this.user$.
Espero ter ajudado.
Ok, boa explicação, mas vc não explicou em detalhes a parte da arrow function: user => this.user = user
Está confuso para mim.
Fala Mauricio, a parte da arrow function vai pegar o usuário que está chegando através do Observable e atualizar o atributo da classe chamado user com o novo usuário que chegou.
user => // recebendo novo usuário
this.user // atributo da classe do seu componente
this.user = user // atribuindo o novo usuário para o atributo da classe
user => this.user = userEspero ter ajudado.
Seria o equivalente a:
function(user) {
this.user = user;
}
Correto?
Fala ai Mauricio, tudo bem? Correto, é isso mesmo.
Só muda no trecho seu é uma função normal, ou seja, declaration function, já no código da aula é uma arrow function:
https://blog.matheuscastiglioni.com.br/definindo-funcoes-em-javascript/
Abraços.