Diferença entre promessas e observáveis

Promessas :

  • Ele sempre retorna o valor único.
  • Não é possível cancelar.

Observáveis:

  • Trabalhando com vários valores conforme o requisito.
  • Sempre pode ser cancelado.
  • Suporta operadores de coleção como mapa, filtros.
  • Os seguintes recursos estão disponíveis no ES 2016.
  • Usando o RX JS.

Promessas e Observáveis ​​lidam com as chamadas assíncronas.

No entanto, existem algumas diferenças entre eles:

Observável

  • Emite vários valores ao longo de um período de tempo
  • Não é chamado até que assinemos o Observable .ie por que eles são chamados de preguiçoso
  • Pode ser cancelado usando o método unsubscribe ()
  • Fornece o mapa, paraCada, filtra, reduz, tenta e tenta novamente quando os operadores

Promessa

  • Emite apenas um único valor de cada vez
  • Chama os serviços sem .then e .catch
  • Não pode ser cancelado
  • Não fornece nenhum operador

Observável:

Um Observable é como um Stream (em vários idiomas) e permite passar zero ou mais eventos nos quais o retorno de chamada é chamado para cada evento.

Freqüentemente, o Observable é preferível ao Promise, pois fornece os recursos do Promise e muito mais. Com Observable, não importa se você deseja manipular 0, 1 ou vários eventos. Você pode utilizar a mesma API em cada caso.

Promessa :

Uma promessa lida com um único evento quando uma operação assíncrona é concluída ou falha.

Observable também tem a vantagem sobre o Promise de ser cancelável. Se o resultado de uma solicitação HTTP para um servidor ou alguma outra operação assíncrona cara não for mais necessário, a Assinatura de um Observável permitirá cancelar a assinatura, enquanto uma Promessa eventualmente chamará o retorno de retorno bem-sucedido ou com falha, mesmo quando você não o fizer. precisa da notificação ou do resultado que ela fornece mais.