You will walk away from this workshop being able to do all of these things by yourself.
- 01. Understand all classes in RxJS
You already know what an Observable is and how to use. Now you'll know all the extending subjects from the Observable class, how each one behaves, and when to use a Subject.
- 02. Know the difference between unicasting and multicasting
It sounds a bit nuanced, but you'll be equipped with the knowledge to know why an Observable is unicast and the benefits of multicasting. You'll understand that multicasting can be important for the performance of your application.
- 03. How to create a multicasted Observable
You'll know how to create a multicasted Observable and how to manage reference counting.
- 04. Know all the variants of a Subject
There are 4 variants (and subclasses) of the Subject. You'll know what how each one behaves, when to use it, and how to wire up a WebSocket with RxJS.
- 05. Trust RxJS to handle exceptions
Error handling is built into the core of Observables and RxJS. You'll be comfortable relying on Observables, and therefore RxJS, to provide the necessary guarantees to handle errors.
- 06. Build custom operators
You'll know what a higher-order Observable is and how to use the Pipe operator to create a custom operator, both using existing operators and building custom operators that do not use an existing operator.
- 07. Write tests for custom operators
There is no need to write tests for RxJS itself. Trust us, it's already very well tested. But, you should write tests for custom operators. You'll know how to use the `TestScheduler` and marble syntax for asserting that your custom operators are behaving as expected.
Pricing
Transparent and simple pricing to skill up your team.
Day One
- Subject
- Recap
Observer
- Observables are Unicast
- Exercise: Unicast
- Solution: Unicast
- Subjects are Multicast
- Exercise: Multicast
- Solution: Multicast
- Multicasting Operators
multicast()
Operator- Exercise:
multicast()
Operator - Solution:
multicast()
Operator refCount()
Operator- Exercise:
refCount()
Operator - Solution:
refCount()
Operator publish()
Operator- Exercise:
publish()
Operator - Solution:
publish()
Operator
- Subject Variants
AsyncSubject
- Exercise:
AsyncSubject
- Solution:
AsyncSubject
BehaviorSubject
- Exercise:
BehaviorSubject
- Solution:
BehaviorSubject
ReplaySubject
- Exercise:
ReplaySubject
- Solution:
ReplaySubject
WebSocketSubject
- Exercise:
WebSocketSubject
- Solution:
WebSocketSubject
- Error Handling
- Error Notification
- Error Notification
throwError()
Operator- Exercise:
throwError()
Operator - Solution:
throwError()
Operator catchError()
Operator- Exercise:
catchError()
Operator - Solution:
catchError()
Operator finalize()
Operator- Exercise:
finalize()
Operator - Solution:
finalize()
Operator retry()
Operator- Exercise:
retry()
Operator - Solution:
retry()
Operator retryWhen()
Operator- Exercise:
retryWhen()
Operator - Solution:
retryWhen()
Operator throwIfEmpty()
Operator
- Custom Operators
- Higher Order Observables
- Exercise: Pipe Function
- Solution: Pipe Function
- Higher-order Function Operator
- Exercise: Higher-order Function Operator
- Solution: Higher-order Function Operator
- Testing
TestScheduler
- Marble Syntax
- Getting Started with Marble Tests
- Exercise: First Test
- Solution: First Test
- Exercise: Subscription
- Solution: Subscription
- Exercise: Error
- Solution: Error
- Flush
- Exercise: Test Custom Operator
- Solution: Test Custom Operator
Prereqs
Students should be familiar with the following technologies:
- JavaScript
- RxJS Fundamentals
Can't find the topic you are looking for? Contact Us to learn about our custom training solutions.