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

Reacting for the First Time

In the previous chapter, you started understanding the motivations behind using functional reactive programming in your systems; you also saw how a program using this paradigm fared against a program without it. You learned how reactive programming can improve code readability and testability by decoupling your event sources from the action you take when the action occurs.

We started with some basic examples using bacon.js as the reactive programming library for JavaScript. In the examples, we began with creating our first EventStream from an interval. Then we started using some operators (map() and take()). Finally, we subscribed to this event source to take actions in the case of an event occurrence. This was just a kind introduction to functional reactive programming.

When reading most of the functional reactive programming libraries (for any language), you will see a lot of diagrams explaining how the operator works. In the previous chapter, I presented the following diagram to illustrate a filter function:

We will cover what this illustration means in detail in this chapter. Learning how to read this will make reading documentation on libraries a lot easier.

Functional reactive programming is a paradigm which is hard to master, so after the quick introduction, you'll now move on to learning how to implement more complex programs using the bacon.js library.

This chapter will cover the following points:

  • Understanding bacon.js observable objects (EventStream and Property) and their differences
  • Modeling a functional reactive program
  • Subscribing to an observable
  • Unsubscribing from an observable
  • Reading a reactive programming operator diagram
  • Using operators to transform an observable