Debugging RxJS
There are two major strategies to debug and get information about what's happening inside an RxJS pipe:
- Tap into the event stream and console log the event data at a particular point in the stream
- Execute breakpoint debugging in dev tools
Let's start with using the tap
operator.
Tapping an RxJS Event Stream
In Chapter 6, Forms, Observables, and Subjects, we introduced the RxJS tap
operator as a way to direct the flow of user input from our search input's stream of change events, and eventually call our doSearch
function. When an RxJS stream doesn't seem to be behaving as you'd expect, you can combine the tap
operator and console.log
to log each event's data, so you can see it over time. Since tap
captures the data in the stream based on where it falls in the order of operations, once added to the stream, you can simply use VS Code's line movement keyboard shortcuts to move it around and test the flow...