How are observables different from promises?

Although promises and observables are both used in JavaScript to manage asynchronous requests, they operate in fundamentally distinct ways. Promises can only manage one asynchronous event at a time, but observables can handle several asynchronous events over time. Observables also give us a diverse set of operators that make it simple to alter data passing through them.

A promise is simply a way to wrap asynchronous operations so that they can be used more easily, whereas an observable is a way to turn asynchronous operations into a stream of data that flows from a publisher to a subscriber along a well-defined path with multiple operations that transform the data along the way.