Gostaria que me explicassem ponto a ponto a parte do código da aula: this.user$.subscribe(user => this.user = user);
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 = user
Espero 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.