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

Promise vs Observable

Qual a motivação para a escolha do uso de Promise nas requisições HTTP ao invés do uso de Observable?

Alguma limitação do Ionic? Ou familiaridade/preferência do desenvolvedor?

5 respostas

Oi Rodrigo, de boa ?

Pode ter sido alguma escolha na hora do desenvolvimento que o instrutor preferiu.

Nas aplicações vejo muito mais as promises do que observable, talvez seja algo que a comunidade prefira usar.

Oi Rodrigo, tudo bem? Acho que há uma confusão de conceitos na sua pergunta. Nenhuma das duas está diretamente ligada a requisições. As promises ajudam nos pontos de operações assíncronas onde você não tem como determinar o tempo exato da operação. Elas podem ser leitura de arquivos, etc.

O observable por outro lado, permitem uma abrangência maior além de situações em códigos assíncronos.

Veja por exemplo, que posso implementar O observable para criação de uma requisição XMLHttpRequest, podendo reagir a cada uma das etapas da requisição (que são 4), neste caso eu posso observar o processo e ser notificado do status. Na promise, naturalmente não dá pra fazer assim, ela foi resolvida ou rejeitada.

Considerando isso, não acredito que seja uma limitação do Ionic em si. Talvez seja o mais simples que resolve o problema.

Faz sentido?

Não há confusão conceitos, apenas usei o exemplo da requisição por ser a situação de operação assíncrona vista no curso onde foi aplicada a Promise até o momento.

Minha pergunta é mais no sentido de entender o por quê do uso da Promise, uma vez que a documentação do Angular recomenda o uso de Observable e eu tenho trabalhado mais com ele do que Promise.

Por isso é que quis saber se havia alguma restrição ao uso do Observable no Ionic.

Mas pelo que entendi, foi apenas uma escolha do instrutor e por se tratar de uma aplicação podemos adotar qualquer uma das soluções, certo?

solução!

Olá meu aluno! Tudo bem por ai?

Quando eu escolhi usar Promise foi para poder tornar o Ionic 2 familiar para quem veio do Ionic 1 que usa Promise com Angular.

A boa notícia é que o novo curso de Ionic 3 (que veio para substituir esse que você esta fazendo) utilizou Observable o tempo todo.

https://cursos.alura.com.br/course/ionic3-parte1

Por mais que você esteja curtindo o curso de Ionic 2, sugiro migrar para o de Ionic 3 porque ele esta mais atualizado.

Sucesso e bom estudo para vocês.

Ah Desculpe então pelo mau entendido Rodrigo. E sim, você pode usar um ou outro como o Flávio comentou acima.

Bons estudos!