Ao criar um modulo services para consumir uma api, qual utilizar? Observable ou Promise e dentro do componente utilizar promise para usar async await? Qual o ganho? Ou utilizar subscribe? Ao começar um projeto que abordagem eu deveria fazer ?
Ao criar um modulo services para consumir uma api, qual utilizar? Observable ou Promise e dentro do componente utilizar promise para usar async await? Qual o ganho? Ou utilizar subscribe? Ao começar um projeto que abordagem eu deveria fazer ?
Fala aí Levy, tudo bem? Não existe um padrão estabelecido sobre isso, vai muito de cada projeto, arquitetura, empresa, time, dev, etc...
Mas, eu particularmente evito usar Promises
quando estou trabalhando com a biblioteca rxjs
(em alguns momentos pode ser necessário).
Eu evito porque a rxjs
e seus Observables
são muito poderosos, se você usar Promise
vai meio que estar matando e perdendo todo esse poder.
Espero ter ajudado.
Boa noite, Levy! Como vai?
Apenas fazendo um adendo ao que o Matheus já disse, os observables criados pela biblioteca RxJS também trazem vantagens sobre as promises como o fato de trabalhem de forma mais otimizada!
Sendo assim, quando o seu projeto tem disponível o RxJS o ideal é que se utilize os recursos dele! Sendo assim, é justamente nesse caso que se encaixa o Angular!
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!
Eu pesquisando vi que alguns programadores defendem o fato de usar Promises por ser realmente "Es6, javascript" é verdade?
Notei também que caso use o padrão observable, teria que usar subscribes e unsubscribes é isso ? Nas promises usando async e await só precisaria fazer uma chamada comum, no caso de usar subscribe e unsubscribe ou toPromise, a diferenças? Pois posso usar Observable e utilizar de subscribes e promises.
Li que geralmente utiliza subscribes para GETS em apis e promise para os demais métodos, POST, PUT E PATCH, faz sentido?
Não existe um padrão Levy, como eu disse, depende de cada projeto, pessoas, times, empresas, etc...
Se você, sua empresa ou seu time acha que vale a pena usar Promise
, sem problemas, usem Promise
(não é errado).
Eu pesquisando vi que alguns programadores defendem o fato de usar Promises por ser realmente "Es6, javascript" é verdade?
Sim, Promises
são funcionalidades nativas do JavaScript.
Notei também que caso use o padrão observable, teria que usar subscribes e unsubscribes é isso ?
Exatamente
no caso de usar subscribe e unsubscribe ou toPromise, a diferenças?
Depende, se você trabalhar com Obserable
muitas funcionalidades já estarão prontas, Ex:
Tenta cancelar uma requisição com Promise
, você vai ver que é algo muito complexo, com Observable
é bem mais simples.
Pois posso usar Observable e utilizar de subscribes e promises.
Realizar o famoso toPromise
não faz sentido, se você quer usar Promise
use de forma nativa, sem converter de Observable
para Promise
.
Li que geralmente utiliza subscribes para GETS em apis e promise para os demais métodos, POST, PUT E PATCH, faz sentido?
Novamente, depende, não tem algo definido.
Eu Matheus, em aplicações Angular uso Observable
para
tudo, tiro o máximo de proveito que posso do rxjs
e fica muito bom (mas, é minha opinião).
Espero ter ajudado.
E em relação ao vazamento de memoria que o Observable pode apresentar ? Não seria uma desvantagem ?
E em relação ao vazamento de memoria que o Observable pode apresentar ?
Porque você acha que ele teria um vazamento de memória?
O fato de se inscrever e ter que desinscrever para susbscribes, e que em promise não precisa, é isso ?
Depende muito do que seu subscribe
irá fazer, em alguns momentos ele é opcional.
Mas, respondendo a pergunta, não tem problema, o consumo de memória não será algo impactante e visível.
Abraços e bons estudos.