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
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
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.
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.
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...
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.
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.
@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
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.
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
Please keep making more videos like these. It's so straigt to the point, love it.
Okay, so the motive is modern world coding through basic common sense. Explained simply. thumbs up!
Congratulations for 1 million subscribers Jeff
We love you
Thank you for all your vids. They help me a lot while messing with angular and firebase :)
Awesome, glad to hear that
thank you so much. I had to stop and take notes here and there but I fully understand all 7 Rxjs concepts now.
Just found this channel. What a godsend!
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
concept wise , this is still valid in 2021.
Thanks to you, I don't fear RxJs anymore
Great presentation, great design, great audio, direct and to the point videos == subscribed!
Thanks a lot, This kind of video really hard to find in youtube. Please do more about pattern / technique like this
Oh i love the background music with that great content
Great concept explanation. I had to listed some portions several times though, to comprehend,
Thanks for the excellent Explanation. You explained these concepts in simplest way. Thanks once again..:)
Awesome explanation and real examples. Thank you for such a great video!
Great and concise explanation.
Man, you are a sorcerer. thanks for an amazing video.
Life changer...🔥🔥🔥
Thank you for the great lessons!
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.
Really nicely explained
Thank you! Great video!
Thanks Fireship ❤️
Great lesson!
Excellent video
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?
Can we get a revamp for new versions & cloud firestore?
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.
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...
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
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 ?
Hi, and thanks. You great man.
I'm probably one amongst few. But I actually prefer you talking slower and in a monotone voice, it's easier to follow
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.
can you provide an example of using Observable groupBy on a Firebase collection?
Nice stuff
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.
What plugin do you use to paste code from the clipboard?
which theme you are using in your Visual code
Thanks dude
What OS do you use? Linux Arch?
thank you
Awesome..
2001 Antonina Ridge
Good video
@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
Lillian Extension
Brooklyn Corner
Kertzmann Expressway
Jonathan Place
Like and subscribe... but don't forget to unsubscribe().
Cheyenne Plaza
This looks so easy... firebase 9 feels awful, or the docs are awefull... I can't tell.
3060 Shields Park
great and neat but way too fast for me lol
Clark Steven Jones Robert Rodriguez George
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:)
Jones Cynthia Hernandez Larry Harris Charles
Olen Well
Garcia Kenneth White Linda Robinson Larry
Ottilie Isle
Niceone
White Course
Martin Sharon Miller Patricia Rodriguez Dorothy
Taylor Jason Lopez Steven Harris Sarah
Wilson Thomas Hall Michelle Taylor Angela
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??
Jackson Paul Robinson David Hall Nancy
very unclear
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
thank you
Wilson Kevin Clark Kimberly Thompson Lisa