What is cold observable in context of angular HttpClient

1.2k Views Asked by At

While using angular HttpClient of angular I got to know that HttpClient post method used cold observable and will make 2 separate calls to post data to the server.And also unless you will not subscribe the post method it will not post data to the server.

Although, Rxjs cold observable says it will hold all the sequence until the the end and fire all when it subscribed.

How it will make 2 separate call to server to post data.

2

There are 2 best solutions below

0
On

COLD is when your observable creates the producer

// COLD
var cold = new Observable((observer) => {
  var producer = new Producer();
  // have observer listen to producer here
});

HOT is when your observable closes over the producer

// HOT
var producer = new Producer();
var hot = new Observable((observer) => {
  // have observer listen to producer here
});

source: https://medium.com/@benlesh/hot-vs-cold-observables-f8094ed53339

0
On

I don't believe that this behavior is caused by the use of observables.

Rather I suspect that the browser is issuing a pre-flight OPTIONS request as a 'handshake' with the server to determine whether the CORS protocol is understood. This precedes the POST request and is possibly why you get 2 calls to the server to post data.