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

Por que utilizar o HttpClient, e não fetch API?

Que vantagem prática nós temos ao utilizar o HttpClient do Angular no lugar da fetch API nativa do JavaScript?

3 respostas

Fala aí Carlos, tudo bem? É utilizado o HttpClient pois é a classe responsável por realizar e lidar com requisições HTTP, dessa maneira conseguimos tirar total proveito do framework.

Não é obrigatório e nada impede em utilizar a Fetch API, porém, não estaria utilizando tudo que o framework tem para lhe oferecer.

Além disso, o HttpClient possui recursos e features que ainda não estão presentes na Fetch API de forma tão simples e fácil.

Espero ter ajudado.

Mas, que features na prática? Nos meus projetos eu uso a fetch API e nunca senti falta de nada. Gostaria de saber se existe alguma vantagem real.

solução!

Uma necessidade muito comum é no precisar utilizar Interceptors, com o HttpClient é muito fácil fazer isso (não que não seja possível com Fetch).

Por padrão o HttpClient irá trabalhar com Observable ao invés de Promises, com eles temos um enorme poder, podemos fazer muitas coisas (algumas delas não seriam tão fáceis com Promises).

Depois dá uma olhada na RxJS.

Um exemplo seria:

Quando o usuário realizar múltiplos cliques em um filtro, você cancela as requisições pendentes e realiza só a última.

Fazer isso com Promise é muito complicado (ignorando a técnica debounce).

Você também terá facilidades para realizar mocks com o HttpClient e seus testes também ficarão mais simples, pois o Angular irá se encarregar de boa parte das configurações.

Espero ter ajudado.