Quelle est la différence entre les promesses et les observables?

Quelle est la différence entre PromiseetObservable dans Angular? Un exemple sur chacun serait utile pour comprendre les deux cas. Dans quel scénario pouvons-nous utiliser chaque