1
resposta

Por que utilizar animais como observable e o pipe async?

Boa tarde!

Na última aula o professor substituiu o tipo da variável animais, que antes era do tipo Animais, para o tipo Observable e passou a utilizar o pipe Async no template.

Aparentemente o efeito em tela é o mesmo, mas gostaria de saber qual o ganho de utilizar essa abordagem e não simplesmente utilizar a variável do tipo Animais com seus dados sendo recebidos dentro de um subscribe após o .pipe([...]).

Obrigado!

1 resposta

Fala Daniel!

Ao utilizar o Observable e o "| async" no Angular você ganha em performance caso você precise de uma lógica muito pesada pra gerar o seu Observable.

Por exemplo, provavelmente o seu Observable está em um *ngFor, qualquer que seja o decorador estrutural que você utilizar no Angular, ele vai se repetir de 30 até 60 vezes por segundo em seu HTML, para ver isso acontecendo, experimenta colocar um método em um *ngIf ou *ngFor e coloca um console.log() la dentro.

Ele se repete muitas vezes no ciclo de vida da tela, por isso, se precisarmos usar uma lógica mais pesada para gerar o dado isso vai reduzir muito a performance do nosso componente.

Quando utilizamos o Observable com o "| async" o jogo muda, visto que a tela só atualizará caso algum evento ocorra no Observable.

Caso tenha ficado com dúvida me avise, posso te mostrar um exemplo.