Georgi Parlakov
Observables in Plain terms
#1about 8 minutes
Understanding the core concept of operators as wrappers
Observables can be visualized as a chain of wrapping operators, similar to Russian dolls, where each operator adds functionality to the one before it.
#2about 9 minutes
Live demo of the operator wrapper model
A code demonstration reveals how subscriptions propagate down the chain and values emit up, showing that observables can emit both synchronously and asynchronously.
#3about 4 minutes
The `toPromise` operator waits for observable completion
The `toPromise` operator doesn't resolve with the first emitted value but instead waits for the source observable to complete and resolves with the last value.
#4about 8 minutes
Comparing the `first` and `take(1)` operators
While `take(1)` safely completes on an empty stream, the `first` operator will throw an error if the source observable completes without emitting any values.
#5about 10 minutes
Choosing between `switchMap`, `concatMap`, and `mergeMap`
`switchMap` cancels previous inner observables, `concatMap` waits for them to complete sequentially, and `mergeMap` runs them all concurrently.
#6about 4 minutes
Keeping observable chains alive with `catchError`
Placing a `catchError` operator inside a higher-order mapping operator like `switchMap` prevents an inner observable's error from terminating the entire outer chain.
#7about 2 minutes
Combining streams with `combineLatest` and `withLatestFrom`
Both `combineLatest` and `withLatestFrom` require all source observables to emit at least once before they produce any output.
#8about 2 minutes
Managing subscriptions to prevent memory leaks
Use a parent `Subscription` object to group multiple child subscriptions, allowing you to unsubscribe from all of them at once to avoid memory leaks.
#9about 3 minutes
Recommended resources for learning RxJS
Key learning resources include the official RxJS documentation, interactive marble diagrams for visualizing operators, and content from core team members like Ben Lesh.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
29:10 MIN
Comparing signals with RxJS observables
Angular Signals: what's all the fuss about?
01:50 MIN
Create custom RxJS operators for cleaner data streams
Angular tips/tricks you can use from tomorrow on
05:48 MIN
How pipeable operators changed the RxJS API
How to Create New RxJS Operators
18:00 MIN
Recapping the reactive carousel implementation
Practice makes perfect - when it comes to RxJS
05:32 MIN
Exploring the core principles of reactive programming
Rethinking Reactive Architectures with GraphQL
23:46 MIN
Advanced typing for complex custom operators
How to Create New RxJS Operators
51:51 MIN
Audience Q&A on signals and Angular development
Angular Signals: what's all the fuss about?
28:24 MIN
New animation and composition operators in RxJS 7
Practice makes perfect - when it comes to RxJS
Featured Partners
Related Videos
How to Create New RxJS Operators
Mohammad-Ali A'râbi
Practice makes perfect - when it comes to RxJS
Jan-Niklas Wortmann
NgRx Tips for Future-Proof Angular Apps
Marko Stanimirović
Angular tips/tricks you can use from tomorrow on
Benedikt Starzengruber
The Eventloop in JavaScript - How does it work?
Christian Woerz
10 must-know design patterns for JS Devs
Erick Wendel
Angular Signals: what's all the fuss about?
Daniela Bonvini
JavaScript the Grumpy Parts
Rob Richardson
Related Articles
View all articles

.png?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.


Frontend Developer (AngularJS)
Hrvatski Telekom
Rainbach im Mühlkreis, Austria
Intermediate
REST
AJAX
Angular
JavaScript
Document Object Model (DOM)

Software Engineer - Observability Platform (Golang / Kubernetes
Roku's Cloud Technology Infrastructure
Senior
Grafana
Prometheus
Kubernetes


Proficient Software Engineer - Node - React - GraphQL
Atolls
Berlin, Germany
NoSQL
Vue.js
NestJS
Node.js
GraphQL
+3

Proficient Software Engineer - Node - React - GraphQL
Atolls
Munich, Germany
NoSQL
Vue.js
NestJS
Node.js
GraphQL
+3


