Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Fechar o subscribe do login

Boa noite!

A minha dúvida é referente ao fazer o subscribe para fazer o login. Não é necessário, ou interessante, fazer um unsubscribe ou um close?


  login() {
    console.log('vai se autenticar');
    const userName = this.loginForm.get('userName').value;
    const password = this.loginForm.get('password').value;

    this.authService
    .authenticate(userName, password)
    .subscribe( () => {
      console.log('autenticado');
      this.router.navigate(['user', userName]); //rota,segmento(paramentro) = userName/:userName
    }, erro => {
      console.log(erro);
      console.log('erro');
      this.loginForm.reset();
    }).unsubscribe(); OU close()
3 respostas
solução!

Boa tarde, João! Como vai?

Nesse caso não há necessidade! Digo isso pois o Observable em questão que está sendo observado através do subscribe() é uma requisição HTTP. Ao final dela, o Observable por baixo dos panos irá finalizar e não haverá uma segunda emissão. Portanto, temos a garantia que haverá apenas um recebimento de dados.

O unsubscribe() faz sentido para quando trabalhamos com um Observable que faz várias emissões de dados e em determinado momento não queremos mais ser notificados do recebimento desses dados.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Valeu Gabriel!

Por nada, João! Sempre que precisar tirar qualquer dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!