Promise emits a single value while Observable emits multiple values. So, while handling a HTTP request, Promise can manage a single response for the same request, but what if there are multiple responses to the same request, then we have to use Observable. Yes, Observable can handle multiple responses for the same request. Let’s implement this with an example. Promise e.g

const promise = new Promise((data) => { 
  data(1);
  data(2);
  data(3);
 }).then(element => console.log(‘Promise ‘ + element));

Output:- Promise 1

Observable e.g

const observable = new Observable((data) => {
data.next(1);
data.next(2);
data.next(3);
}).subscribe(element => console.log('Observable ' + element));

// Output
Observable 1
Observable 2
Observable 3