Advanced RxJS

with Brian Love


Angular only has a few dependencies, and RxJS is one of them. Angular relies on the Observable primitive for asynchronous fetching and events. This requires Angular developers to learn and understand the Observable primitive. While an Angular developer can stop there, you can choose to build reactive Angular application using RxJS, which include more than just the Observable.

In this workshop, you'll dive into Subject and its variants, multicasted Observables, and the operators for multicasting, error handling, creating custom operators, and testing custom operators. If you have used Subject, or potentially BehaviorSubject, this workshop is still for you - you'll learn about the other popular extensions to Subject, such as the WebSocketSubject that provides incredible opportunities for building reactive Angular applications.


What you’ll learn:


  • refCount()
  • publish()
  • retry() and retryWhen()
  • bufferCount()
  • sequenceEqual()
  • window() and windowTime()
  • ... and many more!


Workshop Outline:


  • 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

Full-Day Workshop

$99

EnterpriseNG: Advanced RxJS

What if there was more to RxJS than just Observables and operators? In this workshop we’ll learn about subjects and the various implementations, unicasting vs multicasting and the associated operators, we’ll dive into the error handling, we’ll build out our own operators, and finally, we’ll learn how to test observables in our Angular components. Come prepared for a hands-on intensive workshop that will take your RxJS skills to the next level.


What you’ll learn:

– Subjects as both the observable and the observer

– Unicasting and Multicasting

– Error Handling

– Building custom operators

– Testing custom operators

– Testing Observables