Quiz: Aula 12 ❓
Teste seus conhecimentos sobre o RxJS e Programação Reativa.
-
O que significa a sigla RxJS?
- ( ) Rerender eXtension JavaScript
- (x) Reactive Extensions for JavaScript
- ( ) Runtime XML JavaScript Service
- ( ) Remote X-component JavaScript
- Explicação: É a biblioteca padrão para programação reativa no ecossistema JavaScript.
-
Qual operador é usado para transformar os dados de um Observable?
- ( ) switch
- (x) map
- ( ) transform
- ( ) change
- Explicação: O
mapaplica uma função a cada valor emitido pelo Observable.
-
O que o operador
filterfaz?- ( ) Limpa os dados do banco
- ( ) Ordena a lista
- (x) Emite valores apenas se eles passarem em um teste booleano
- ( ) Deleta o Observable
- Explicação: O
filterdescarta valores que não atendem à condição especificada.
-
Qual a característica única do
BehaviorSubject?- ( ) Ele é mais rápido
- ( ) Ele só aceita strings
- (x) Ele armazena o último valor emitido e o entrega para novos assinantes
- ( ) Ele apaga os dados após 10 segundos
- Explicação: Ótimo para gerenciar estados que precisam estar disponíveis a qualquer momento (ex: tema dark/light).
-
Para que serve o método
.pipe()?- ( ) Para criar um novo componente
- (x) Para encadear operadores RxJS em um Observable
- ( ) Para conectar o banco de dados
- ( ) Para injetar CSS
- Explicação: O
pipeé o local onde "montamos" a esteira de transformação dos dados.
-
O que acontece se você tiver um Observable mas ninguém fizer o
.subscribe()?- ( ) Ele executa e guarda o resultado
- ( ) Ele dispara um erro
- (x) Nada acontece (ele nem chega a ser executado)
- ( ) O computador reinicia
- Explicação: Observables são "cold" (frios) por padrão, só agem sob demanda.
-
Qual o papel do
unsubscribe()?- ( ) Apagar o código
- (x) Parar de ouvir o Observable para evitar consumo desnecessário de memória
- ( ) Reiniciar o Observable
- ( ) Fazer logout do usuário
- Explicação: Importantíssimo para evitar "Memory Leaks" em aplicações grandes.
-
O operador
switchMapé muito usado para:- ( ) Somar números
- ( ) Mudar a cor da tela
- (x) Evitar problemas de concorrência em buscas, cancelando requisições anteriores
- ( ) Deletar o histórico do browser
- Explicação: O
switchMapgarante que apenas a última requisição disparada seja processada.
-
O Async Pipe (
| async) faz o unsubscribe automaticamente?- (x) Sim, ele gerencia todo o ciclo de vida da assinatura no template
- ( ) Não, você ainda precisa chamar o unsubscribe no OnDestroy
- ( ) Apenas se o componente for standalone
- ( ) Somente em modo desenvolvimento
- Explicação: Esta é a maior vantagem do Async Pipe: segurança e código mais limpo.
-
Como representamos convencionalmente por nome que uma variável é um Observable?
- ( ) Começando com
obs_ - ( ) Colocando entre parênteses
- (x) Adicionando um cifrão
$ao final do nome (ex:dados$) - ( ) Usando apenas letras maiúsculas
- Explicação: O "Finnish Notation" ($) ajuda a identificar rapidamente fluxos assíncronos no código.
- ( ) Começando com