Timeline of Events🕗 0:40 1. Important RxJS Methods - static vs. instance 1:35 2. Subscriptions - extract data from observables 2:42 3. Unsubscribe - prevent memory leaks 3:05 4. Map Observables - transform data in the stream 4:00 5. SwitchMap - handle data relationships 4:45 6. Combine Observables - two observables -> one 5:25 7. BehaviorSubject - share current data
Thanks again for a neat video. I always struggle explaining CombineLatest and flatMap in my videos but you explained well in less time. I would love to see more RxJs video from you Jeff, since I really appreciate your deep thoughts and I'm fan of RxJs
I was thinking about the paste tool too. Maybe there should be one. (But delete + CntlZ is a great way to do tutorials so its concise and quick) And your explanations are great, more videos, please.
I believe you skipped mentioning the major benefits of switchMap. It's counterpart mergeMap does as you explained. switchMap on the other hand cancels the previous request.
Thanks for pointing that out. I wanted to include both mergeMap and switchMap in this video, but find the latter is more common, especially when dealing with firebase auth.
Hi Fireship, maybe it's a dummy question but what does the {{ (someObject | async)? .somePropertyOfObject }} mean? Is it some shorthand ternary operator or what? I've never seet it before. Many thanks.
The question mark is for rendering the object, if it exists, which it doesn't at first, because it's set to null. But when he selects an animal, the method is fired, assigning currAnimal to the selected animal, thus someObject (currAnimal) is not null, and the html is rendered. Just like if( true ? "true" : "false" ) returns true and if ( false ? "true" : "false" ) returns false.
I have no technical background just trying to understand how we would have handle data from API if we were not using this RXJS. angular is client side as far as i know and its not right to mix it with server side functionality might be violating Model View Controller architectural pattern.
This is great stuff, but your audio is way ahead of your video... the description of the attributes are done before the code is even displayed, and when it is displayed it disappears in a flash (6:40). Would be nice to slow it down a bit and not seem like you're rushing out the door.. even your exit music is playing before you're even done with explaining everything. I just feel like you want to wrap this up before it's even started.
Why did it take the community of us programmers so long to use observables/streams/realtime dataflow pervasively? Excel demonstrated that it is a good idea years ago...
@2:44 I thought that unsubscribing was unnecessary for Observables that are finite/resolve. Like http requests for instance. stackoverflow.com/questions/38008334/angular-rxjs-when-should-i-unsubscribe-from-subscription
Correct, if the Observable completes on it's own then unsubscribing is not necessary. Firebase observables continue to emit values, so it's necessary to unsub manually.
The concise to the point no bullshit approach is really helpful.
Thank you!
Still helpful 7 years later
You have the most helpful angular content around.
Timeline of Events🕗
0:40 1. Important RxJS Methods - static vs. instance
1:35 2. Subscriptions - extract data from observables
2:42 3. Unsubscribe - prevent memory leaks
3:05 4. Map Observables - transform data in the stream
4:00 5. SwitchMap - handle data relationships
4:45 6. Combine Observables - two observables -> one
5:25 7. BehaviorSubject - share current data
Thanks again for a neat video.
I always struggle explaining CombineLatest and flatMap in my videos but you explained well in less time.
I would love to see more RxJs video from you Jeff, since I really appreciate your deep thoughts and I'm fan of RxJs
Glad you liked it! I definitely plan on doing more on RxJS, as this video is really just scratching the surface.
Please keep making more videos like these. It's so straigt to the point, love it.
Congratulations for 1 million subscribers Jeff
We love you
Just found this channel. What a godsend!
thank you so much. I had to stop and take notes here and there but I fully understand all 7 Rxjs concepts now.
Thank you for all your vids. They help me a lot while messing with angular and firebase :)
Awesome, glad to hear that
concept wise , this is still valid in 2021.
Okay, so the motive is modern world coding through basic common sense. Explained simply. thumbs up!
You are the best channel and your website is helpful and helped me multiple times. Keep up good work
finally someone explained rxjs to me how I could understand it
Oh i love the background music with that great content
Great and concise explanation.
Great presentation, great design, great audio, direct and to the point videos == subscribed!
Great concept explanation. I had to listed some portions several times though, to comprehend,
Thanks to you, I don't fear RxJs anymore
Thanks a lot, This kind of video really hard to find in youtube. Please do more about pattern / technique like this
Man, you are a sorcerer. thanks for an amazing video.
Thanks for the excellent Explanation. You explained these concepts in simplest way. Thanks once again..:)
Really nicely explained
Life changer...🔥🔥🔥
Awesome explanation and real examples. Thank you for such a great video!
Excellent video
Thanks Fireship ❤️
Thank you for the great lessons!
Can we get a revamp for new versions & cloud firestore?
Thank you! Great video!
Great lesson!
What plugin do you use to paste code from the clipboard?
My biggest takeaway from this: "....... THERE'S AN ASYNC PIPE??........ THERE'S AN ASYNC PIPE!! GRAAAAAAAAHHHHH!!!"
I'm as surprised as you are, async pipe. Was I living under a rock?
I'm realy very interested about the usine of rxjs and firebase in my app i'm waiting for a complet course do u geve coaching ?
Thanks for the video!
A quick question how can you paste the code ? do you use some quick paste tool?
No plugins required. Just delete then ctrl-z.
I was thinking about the paste tool too. Maybe there should be one. (But delete + CntlZ is a great way to do tutorials so its concise and quick)
And your explanations are great, more videos, please.
which theme you are using in your Visual code
Why not use just a variable instead of behaviour subject. We get current value in case of variables too right ?
We can use Behavior Subject throughout the project, from component to component
can you provide an example of using Observable groupBy on a Firebase collection?
I believe you skipped mentioning the major benefits of switchMap. It's counterpart mergeMap does as you explained. switchMap on the other hand cancels the previous request.
Thanks for pointing that out. I wanted to include both mergeMap and switchMap in this video, but find the latter is more common, especially when dealing with firebase auth.
Nice stuff
2001 Antonina Ridge
Hi Fireship, maybe it's a dummy question but what does the {{ (someObject | async)? .somePropertyOfObject }} mean? Is it some shorthand ternary operator or what? I've never seet it before. Many thanks.
The question mark is for rendering the object, if it exists, which it doesn't at first, because it's set to null. But when he selects an animal, the method is fired, assigning currAnimal to the selected animal, thus someObject (currAnimal) is not null, and the html is rendered. Just like if( true ? "true" : "false" ) returns true and if ( false ? "true" : "false" ) returns false.
Hi, and thanks. You great man.
I have no technical background just trying to understand how we would have handle data from API if we were not using this RXJS. angular is client side as far as i know and its not right to mix it with server side functionality might be violating Model View Controller architectural pattern.
This is great stuff, but your audio is way ahead of your video... the description of the attributes are done before the code is even displayed, and when it is displayed it disappears in a flash (6:40). Would be nice to slow it down a bit and not seem like you're rushing out the door.. even your exit music is playing before you're even done with explaining everything. I just feel like you want to wrap this up before it's even started.
What OS do you use? Linux Arch?
Why did it take the community of us programmers so long to use observables/streams/realtime dataflow pervasively? Excel demonstrated that it is a good idea years ago...
thank you
Thanks dude
Good video
Awesome..
@2:44 I thought that unsubscribing was unnecessary for Observables that are finite/resolve. Like http requests for instance.
stackoverflow.com/questions/38008334/angular-rxjs-when-should-i-unsubscribe-from-subscription
Correct, if the Observable completes on it's own then unsubscribing is not necessary. Firebase observables continue to emit values, so it's necessary to unsub manually.
Everardo Divide
Brooklyn Corner
I'm probably one amongst few. But I actually prefer you talking slower and in a monotone voice, it's easier to follow
Lillian Extension
Jonathan Place
Kertzmann Expressway
great and neat but way too fast for me lol
Cheyenne Plaza
3060 Shields Park
Garcia Kenneth White Linda Robinson Larry
Like and subscribe... but don't forget to unsubscribe().
Clark Steven Jones Robert Rodriguez George
Jones Cynthia Hernandez Larry Harris Charles
Taylor Jason Lopez Steven Harris Sarah
Martin Sharon Miller Patricia Rodriguez Dorothy
Olen Well
This looks so easy... firebase 9 feels awful, or the docs are awefull... I can't tell.
Wilson Thomas Hall Michelle Taylor Angela
Niceone
Ottilie Isle
Jackson Paul Robinson David Hall Nancy
I can't understand anything, may be this video is not tend for beginners!
angular and rxjs is not for beginners, you need to master that:)
Never ever subscribe in the component and assign dogs to this.dogs. 99.999% of the time it should be handled with async as cats was
White Course
U didn't use the map operator from RxJS. I think u used the map operator from vanilla JS and not RxJs.
fuck is this comments bruh??
very unclear
thank you
Wilson Kevin Clark Kimberly Thompson Lisa