1
resposta

tap operator@deprecated — use an observer instead of a complete callback

Olá, boa noite.

Revisando o código da aula, percebi que temos um aviso de @deprecated no operador tap: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Não sei se é nele inteiro ou na forma que utilizamos nesse caso.

Então pensei numa solução e parece que a maneira que implementei resolve esse problema, a minha pergunta seria se é uma solução satisfatória ou apenas uma gambiarra.

Como era antes:

  getAcoes(): Observable<Acoes> {
    return this.httpClient.get<AcoesAPI>('http://localhost:3000/acoes')
    .pipe(
      tap((retornoApi) => console.log(retornoApi)), //
      pluck('payload'), // extrai a propriedade payload do objeto e entrega o array de acoes
      map((acoes) => acoes.sort((acaoA: Acao, acaoB: Acao) => this.ordenaPorCodigo(acaoA, acaoB))));
  }

Como ficou depois, implemetando um map que somente imprime na tela e devolve o mesmo retorno.

  getAcoes(): Observable<Acoes> {
    return this.httpClient.get<AcoesAPI>('http://localhost:3000/acoes')
    .pipe(
      map((retornoAPI) => {
        console.log(retornoAPI);
        return retornoAPI;
      }),
      pluck('payload'), // extrai a propriedade payload do objeto e entrega o array de acoes
      map((acoes) => acoes.sort((acaoA: Acao, acaoB: Acao) => this.ordenaPorCodigo(acaoA, acaoB))));
  }

Esta seria uma solução válida e satisfatória? Ou existe algum outro operador que executa essa necessidade melhor?

1 resposta

Oi William, tudo bem?

Primeiramente desculpe a demora em dar um retorno. Esse curso relativo a sua dúvida foi desativado e recebeu uma versão nova, com tudo atualizado, você pode conferir a versão nova aqui:

Caso você tenha dúvidas você pode abrir um tópico nesse curso novo. Irei finalizar esse tópico aqui.

Um abraço e bons estudos.