So far, we have been looking at the default type of Subject, and we have uncovered a little of its secrets. However, there are many more types of Subjects. One such interesting type of Subject is the BehaviorSubject. So, why do we need a BehaviorSubject, and for what? Well, when dealing with a default Subject, we are able to add values to the stream, as well as subscribe to the stream. The BehaviorSubject gives us some added capabilities, in the form of:
- A starter value, which is great if we are able to show something to the UI while waiting for an AJAX call to finish
- We can query on the latest value; in some situations, it is interesting to know what the last emitted value was
To address the first bullet, let's write some ...