The two are different. A
BehaviorSubject represents a value that changes over time — rather than a series of events — and it is already an
Observable. For change notifications to be emitted, someone has to call
next on the
BehaviorSubjet. That is, the calling code has to deal with an
The mechanism outlined in the article is for situations in which the caller is not dealing with an
Observable — e.g. the caller is just setting a property or is calling a method.
rxjs-observe uses a proxy so that the caller can continue setting properties or calling methods, but the consumer can deal with an
Observable that emits
next notifications whenever the caller sets a property or calls a method.
If you look at the implementation of
rxjs-observe, you’ll see that a
BehaviorSubject is used for properties of the proxied object — so that subsequent subscriptions receive the property’s current value.