Mastering Reactive JavaScript
上QQ阅读APP看书,第一时间看更新

Difference between bacon.js and RxJS observables

In Chapter 2, Reacting for the First Time, you learned that an observable is basically an abstraction over possible asynchronous data. The observable gives you the power to transform data using different operators and take an action when a piece of new data becomes available, using a subscriber. The bacon.js library uses the term subscriber to the object listening to incoming data, but on Reactive Extensions, we will use a different term; we will call it Observer.

Conceptually, there is no difference between the two. Basically, it was just names chosen by the developers of both libraries; however, it is important that you're aware of both the names as you will see both being used in the documentation of the libraries.

In bacon.js, we saw two different flavors of observables:

  • EventStreams
  • Properties

In RxJS, we will always talk about:

  • Observables
  • Observers
In this chapter, you will also learn more about three special objects in RxJS. They are called Subject, Disposable, and Scheduler.