Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método subscribe() do Observable @deprecated

Ao implementar o método login(), tal qual apresentado na aula 02.04 (Login / Consumindo o serviço de autenticação) recebo a mensagem que o método subscribe() invocado sobre o Observable<any> retornado pelo método de autenticacao() da classe de Serviços de Autenticação está deprecated:

@deprecated — Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. 

Details: https://rxjs.dev/deprecations/subscribe-arguments

A implementação original estava mais ou menos assim:

    login() {
        this.authService
            .authenticate(this.aUser, this.aPassword)
            .subscribe(
                () => {
                    this.router.navigate(['animals'])
                },
                (error) => {
                  alert("Usuário ou Senha inválidos!");
                  console.log(error);
                }
            )
        ;
    }

Qual a forma de evitar esta forma @deprecated do método subscribe()?

1 resposta
solução!

Seguindo as instruções do RxJs no link indicado pela mensagem, adaptei o método para o formato abaixo, criando um objeto com o next e o error sendo atributos/propriedades dele:

    login() {
        this.authService
            .authenticate(this.aUser, this.aPassword)
            .subscribe(
                {
                    next: () => {
                            this.router.navigate(['animals'])
                    },
                    error: (erro) => {
                            alert("Usuário ou Senha inválido(s)!");
                            console.log(erro)
                    }
                }
            )
        ;
    }

Consegui executar os testes com sucesso, tanto com os Login e Senha corretos, quanto com valores errados.