I only ever use *these* RxJS operators to code reactively

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 126

  • @JoshuaMorony
    @JoshuaMorony  ปีที่แล้ว +1

    Join my mailing list for more exclusive content and access to the archive of my private tips of the week: mobirony.ck.page/4a331b9076

  • @JustPassingByHere
    @JustPassingByHere 2 ปีที่แล้ว +144

    You are the man! There is such a shortage of angular and angular related content on TH-cam. Especially content as good as this. Please keep up this good work. You’re really helping a lot!

    • @TastyTales792
      @TastyTales792 2 ปีที่แล้ว +2

      that's not a coincidence, angular is shit. :D but rxjs doesn't necessarily mean angular.

    • @ImperiumLibertas
      @ImperiumLibertas 2 ปีที่แล้ว +8

      ​@@TastyTales792 naw, angular is an amazing framework. Probably a skill issue

    • @TastyTales792
      @TastyTales792 2 ปีที่แล้ว

      @@ImperiumLibertas I have worked with angular for years, and I still think there are only better alternatives, like vue does better what angular does, svelte, react, basically everything is better and not as unnecessarily overcomplicated as angular. Rxjs is good though. Throwing around comments like "skill issue" is pretty dumb though, since you have no idea.

    • @metorado
      @metorado 2 ปีที่แล้ว +6

      @@TastyTales792 throwing around comments like "shit" is pretty dumb though, since you have no idea.

    • @ImperiumLibertas
      @ImperiumLibertas 2 ปีที่แล้ว +2

      @@TastyTales792 funny because I've been in the industry for 7+ years you'd think I'd know a thing.
      Angular is fine especially in an enterprise environment. React is nice but jsx sucks imo but that's merely opinion.
      Remix is cool, Vue is cool, a lot of the 2017 era frameworks are falling out of date in favor for newer tech.
      Angular has amazing features like amazing DI, tooling, and makes the patterns extremely easy to follow especially when working with a team. The places Angular falls short is in the styling but that's not necessarily exclusive to Angular.
      And maybe you should qualify your position before just saying "angular is shit" and acting like your opinion is gospel.

  • @Octavian82
    @Octavian82 ปีที่แล้ว +2

    Josh, you are my hero!
    I’m a seasoned PHP dev recently tackling Angular and just couldn’t wrap my head around these RsJs concepts and operators. Now i finally got it.
    Thanks!

    • @JoshuaMorony
      @JoshuaMorony  ปีที่แล้ว +1

      I miss PHP, haven't used it since CodeIgniter was popular!

  • @jamienordmeyer4345
    @jamienordmeyer4345 2 ปีที่แล้ว +5

    Fantastic presentation! You definitely helped to clear the air with the differences between switchMap, concatMap, and mergeMap! Truly appreciate the effort here!

  • @seanszarkowicz2910
    @seanszarkowicz2910 2 ปีที่แล้ว +7

    Great videos and explanations - providing real world uses cases are some of the best parts of your videos. There is not enough of these types of videos with Angular and RxJS out there and you are providing a great service to the community with your videos and clear real world explanations!! Keep up the great work

  • @vladislavamarkova8379
    @vladislavamarkova8379 9 หลายเดือนก่อน +1

    Finally to see a video on rxjs where actually is explained that when you apply map operator and the values in the stream are each an array, if you want to modify each array you should do array.map in the map operator. I got it some years ago myself, but thank you that you start with this, because it's a key thing when beginning with rxjs.

  • @loxian42
    @loxian42 ปีที่แล้ว +2

    Excellent tutorial! I've always told people that rxJS always looks intimidating at first, but all you need to know are the basic operators and subject types. Those are the exact operators I use on a daily basis and I rarely deviate from them as well.

  • @MrEltoni12
    @MrEltoni12 2 ปีที่แล้ว +1

    The video was great. Going to share it with my jr Devs. I really like that outro where streams don't do anything unless you subscribe. Teaching at every point, that was good.

  • @BGivo
    @BGivo ปีที่แล้ว

    You really just pulled off an eloquent and concise video talking about rxjs operators...

  • @KrycekA
    @KrycekA 2 ปีที่แล้ว +5

    Great explanation as always! The operators you showed are indeed those that we also use the most on our projects.
    I will share the link to this video with my colleagues who are still kinda new to RxJs so they can watch and learn at their own pace 🙂

  • @urchuk2006
    @urchuk2006 2 ปีที่แล้ว +4

    So much value in this video. Keep going!

  • @remypaak4195
    @remypaak4195 3 หลายเดือนก่อน

    Loved this. Have been toying around with fullstack projects since the start of this year and I kept struggling on the rxjs part in the frontend. This video made it all "click". Cant thank you enough. The part Im still struggling on is clearly understanding the different use cases of simple Observables vs Subjects vs the new Angular signals.

  • @semperfiArs
    @semperfiArs 2 ปีที่แล้ว +3

    Thanks a lot for pushing this sort of content on TH-cam bro. Angular material is by far very less and such content helps us. Keep up the good work

  • @TheSaceone
    @TheSaceone 2 ปีที่แล้ว +9

    cool video, I think there are more or less "common rxjs patterns" that we all use but we may not be using a "standard" approach with our implementations. Glad to see some real examples of yours to have as a reference!

  • @alex25197
    @alex25197 2 ปีที่แล้ว

    Thank you so much! It can't be much clear than you explained it, been using CatchError the wrong way until today!

  • @athanasianotta7236
    @athanasianotta7236 8 หลายเดือนก่อน

    Your tutorials are so useful and your presentation style is very engaging 👍

  • @rajeshchoudhary2542
    @rajeshchoudhary2542 ปีที่แล้ว +1

    Hi Josh, you could use vm in parent container using rather than calling async multiple time as it will cause multiple subscriptions.

  • @vishwajeetsavandkar7617
    @vishwajeetsavandkar7617 2 ปีที่แล้ว

    Finally got the SwitchMap.. Great video great explanation

  • @paulvanjaarsveld5552
    @paulvanjaarsveld5552 ปีที่แล้ว

    Super cool video and a competent explanation! Think I finally got switchMap fully understood.
    Wish I discovered you way earlier!

  • @ytPEDROjoao
    @ytPEDROjoao 2 ปีที่แล้ว

    Thank you for this tutorial , I finally understood RxJS operators!

  • @michael.ahearn
    @michael.ahearn 2 ปีที่แล้ว

    Joshua, very good tutorial. Well explained. I've learned a lot from you! And you've got an Aussie accent, which is a plus! ;)

  • @Mariusjourney
    @Mariusjourney 2 ปีที่แล้ว

    Thanks for the free software, it makes your search a lot easier

  • @Johnnyh1Q
    @Johnnyh1Q ปีที่แล้ว

    The best channel I have seen so far. thanks a lot

  • @mobileappdeployment956
    @mobileappdeployment956 5 หลายเดือนก่อน

    Very high quality content. Thank you.

  • @claudiuciprianbetiuc3985
    @claudiuciprianbetiuc3985 2 ปีที่แล้ว

    Awesome video! Thanks, Joshua!

  • @cheocharan4787
    @cheocharan4787 2 ปีที่แล้ว

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!This is cool, well done!

  • @ilirbeqiri253
    @ilirbeqiri253 2 ปีที่แล้ว

    Extraordinary explanation man ❤

  • @phuongtran-qh5kq
    @phuongtran-qh5kq 2 ปีที่แล้ว

    Omg this the the 10th time i watched this video. Rxjs is just overwhelming for new comers like me. Thank you very much my man

  • @brunoramiresferreira4011
    @brunoramiresferreira4011 2 ปีที่แล้ว

    Very clear explanation. Thanks in advance!

  • @gogetss420
    @gogetss420 2 ปีที่แล้ว

    This is so useful for an rxjs beginner (like myself)

  • @f19-x9k
    @f19-x9k 2 ปีที่แล้ว

    Great video! Thanks for teaching us the most common operators you use :)

  • @Ms.Technology8
    @Ms.Technology8 3 หลายเดือนก่อน

    thanks you so much, i saw alot of videos about rxjs but all of tham didnt help me.
    your video is the best to understand how to use it and why.

  • @vitruvianeli
    @vitruvianeli ปีที่แล้ว

    Thanks, it was interesting, would watch any other operators as well.

  • @pedro.lizarraga
    @pedro.lizarraga 2 ปีที่แล้ว

    Pure gold, thanks for sharing!

  • @jonswayne
    @jonswayne 2 ปีที่แล้ว

    Thank you!!!! This is a wonderful explanation. I appreciate the detailed explanation.

  • @benjaminoechsle2091
    @benjaminoechsle2091 2 ปีที่แล้ว

    Your videos are so good explained and useful for understanding ngrx. Thank you so much for this!!🧡🧡

  • @dimitritriantafilo9854
    @dimitritriantafilo9854 2 ปีที่แล้ว

    great video man! thank you so much for it!

  • @MrWesopl
    @MrWesopl 2 ปีที่แล้ว

    You are a great teacher. Well explained!

  • @dreivierabi6314
    @dreivierabi6314 2 ปีที่แล้ว

    Hey I think typing the return value of you functions would help understand at a glance what will be returned in the end. Great video though!

  • @b1onic98
    @b1onic98 2 ปีที่แล้ว

    Great video! Clean with real life examples.

  • @kevo777ez
    @kevo777ez ปีที่แล้ว

    Thank you Joshua!

  • @olmanmora21
    @olmanmora21 2 ปีที่แล้ว

    exhaustMap works better than switchMap for http calls when you're not able to cancel from server, because it will ignore subsequent calls, that's ideal for cases where the trigger is a button which an user can press quickly several times.

  • @itilin
    @itilin 2 ปีที่แล้ว

    Great and helpful video, thanks a lot

  • @Marc1920x1080p
    @Marc1920x1080p 10 หลายเดือนก่อน

    Great Video, thank you very much!!

  • @ravikumarmistry
    @ravikumarmistry 10 หลายเดือนก่อน

    I like rxjs and use it a lot when working on my side projects, but when working for my company I avoid creating long chains of it, it is hard for other people on the team and it is very hard for new joiners.

  • @Tjommel
    @Tjommel 2 ปีที่แล้ว

    thank you for your videos. You are awesome!

  • @coyti6264
    @coyti6264 2 ปีที่แล้ว

    I realize Im coding it wrong the whole time. Thank you for a great explanation!

  • @krishanthadharmasiri5266
    @krishanthadharmasiri5266 ปีที่แล้ว

    Great video thanks so much 🙏

  • @michaelclose8009
    @michaelclose8009 ปีที่แล้ว

    Very helpful thanks!!!

  • @sandeepdravidam7989
    @sandeepdravidam7989 2 ปีที่แล้ว

    Great Content n Awesome way of explaining as always. Can u make a video on how to do
    @supercharge/promise-pool npm package like flow in Observable way . It would be great video to learn. It would be challenging for u n great learning for us 😉

  • @Muhammad_Mabrouk
    @Muhammad_Mabrouk ปีที่แล้ว

    Great tutorial thank you so much

  • @vamvdotnet
    @vamvdotnet 10 หลายเดือนก่อน

    More examples!! More examples!!!

  • @AlexanderRennie-x5q
    @AlexanderRennie-x5q ปีที่แล้ว

    Awesome video thanks

  • @subashbarik
    @subashbarik 2 ปีที่แล้ว

    Great video, surely it is helpful.

  • @waldBestMusics
    @waldBestMusics ปีที่แล้ว

    Great tutorial again, do you have place where we can check your code, what is the advantages of iconic and how to set it up ?

  • @FritzGillis
    @FritzGillis 4 หลายเดือนก่อน

    why not use `from` in front of the `map` operator, then `toArray()` to aggregate the xfm? If you need to process the array as an array in your stream first, you can just `switchMap` into the `from`...
    `concatMap` is great for enforcing synchronicity... but you have to ensure your observables actually complete... which (in certain scenarios) they'll stay open unexpectedly if you don't explicitely tell them to complete.

  • @satojigopal6519
    @satojigopal6519 2 ปีที่แล้ว

    I hope you get what you're looking for!

  • @wulfhound2859
    @wulfhound2859 ปีที่แล้ว

    like the film, maybe add one extra in there, the shareReplay, it's quite easy and kind of helps with the data storing. Btw do you know what the difference is between the caching done by shareReplay and an Angular Service Worker, because the distinction isn't clear to me

    • @JBuchmann
      @JBuchmann ปีที่แล้ว

      I think a service worker will cache data permanently, so the data is still there when you restart the app. That's good for when you open the app and are offline.
      ShareReplay is caching data in memory and sharing it with multiple subscribers. So if you have multiple subscribers it won't refetch data from http (or whatever) multiple times when it doesn't need do. But It's cleared out once you close the app.

  • @victory_lucky
    @victory_lucky 2 ปีที่แล้ว

    I would have understood RxJS better if I had met you earlier.

  • @JoseAlvarez-dl3hm
    @JoseAlvarez-dl3hm 2 ปีที่แล้ว

    I just found his exponation rather hard to understand, but at least I have a general idea of what operators to look up in the future.

  • @adityagautam1217
    @adityagautam1217 ปีที่แล้ว

    Great content. Would you plan to create mini projects for angular using reactive programming ??

  • @igorr4682
    @igorr4682 2 ปีที่แล้ว +1

    some of those operators are very similar in name and what the do with higher order functions in JS.

  • @luispozo2380
    @luispozo2380 ปีที่แล้ว

    How does Big O come into the picture? Does RxJs map work the same as array method(map)? If so, is it n2 with the example in this video. (map(x => x.map(n => n*10))

    • @JoshuaMorony
      @JoshuaMorony  ปีที่แล้ว

      It's similar conceptually to the array method, but it's important to remember that the RxJS map operator operates on values emitted over *time*. For example, you might have an observable that just emits once, or you might have one that emits 'n' times synchronously, or you might have one that emits 'n' times but asynchronously over time (maybe it emits once every second, every 10 seconds, once every 10 minutes, and so on). Maybe you have an observable that emits infinitely over time. So if you're talking about synchronous emissions of observable values then you can probably just treat it the same way you would the array method for Big O, but for asynchronous values it's a bit different. It's also important to remember that the RxJS map operator is performed on the entire emission - so if you have an array that is emitted with 10 values, the RxJS map operator is run once (it is given the value of the entire array), and then the array method map will run 10 times (it is given each value in the array)

    • @luispozo2380
      @luispozo2380 ปีที่แล้ว

      @@JoshuaMorony Thank you for the clear and concise explanation. Now that I have you here... would love more RxJS content in React. For example(Best Patterns, anti Patterns, testing, debugging, consuming APIs etc...). RxJS is a monster of a tool and it's recently picking up momentum in the industry. You are awesome explaining concepts and you would do an awesome job! Thank you for being awesome!!!

  • @abdulnafay72
    @abdulnafay72 ปีที่แล้ว

    Can you make more in details? Here you just showed the code.

  • @danielzaiser
    @danielzaiser 2 ปีที่แล้ว

    hi, just fyI js is weird, you said array * 10 is NaN, but actually if you were to multiple for example [29] * 10, you would get 290, because if the element is of size < 2, it will convert the containing element to a number and use that as the value to multiply.

  • @dragos-andreiilies526
    @dragos-andreiilies526 2 ปีที่แล้ว

    Great video! Do you think using take(1) is a valid operator to use in order to avoid the observable leaking when subscribed to? Instead of having to manually destroy the subscription later

    • @JoshuaMorony
      @JoshuaMorony  2 ปีที่แล้ว +1

      Generally coding reactively in the style I'm talking about in this video means not manually subscribing to streams, you will generally just use the async pipe so there is no need to handle the subscription.
      However, there are still some cases where a manual subscribe might be required, and if take(1) makes sense for a particular circumstance then absolutely I don't have any problems with using that.

  • @ucnguyenphanhuynh3134
    @ucnguyenphanhuynh3134 4 หลายเดือนก่อน

    good job man

  • @priyanshramnani1751
    @priyanshramnani1751 ปีที่แล้ว

    Thank youu!! :D

  • @gregmcfarlane4208
    @gregmcfarlane4208 ปีที่แล้ว

    am i correct in my thinking that combineLatest is NOT a good choice if the 2nd call depends on a value from the data returned by the first call?

  • @skysc5737
    @skysc5737 2 ปีที่แล้ว

    most likely, paying for soft gives you rights to use anytNice tutorialng included with your purchase as well as whatever the distibution rights of any tNice tutorialrd

  • @mehdimahmud5191
    @mehdimahmud5191 2 ปีที่แล้ว

    thanks for this great video. I have a question about compbining switch map with combine latest. In 16:50 of this video after changing the rount, lets say we haev a dynamic data from a socket.Io coming to one of the observers inside the combine latest. does it still work as the outer stream "rout param" doesnt change?

    • @JoshuaMorony
      @JoshuaMorony  2 ปีที่แล้ว +1

      Yes, combineLatest will continue emitting values if the input observables emit, the switchMap from some other observable won't prevent that

  • @mxz2024
    @mxz2024 2 ปีที่แล้ว

    Honestly, i did not even need most of them since the normal subscribing and emitting via next is in most cases enough. Because i dont need ttansform data often

  • @NerdENerd
    @NerdENerd ปีที่แล้ว

    You should map your params to the id before the switch map rather than look up the id from the params for every iteration of the find.

  • @PRAVEENKUMAR-qs4dv
    @PRAVEENKUMAR-qs4dv 2 ปีที่แล้ว

    For so wierd reason when I try to use the GMS it just make one loud noise..

  • @waldBestMusics
    @waldBestMusics ปีที่แล้ว

    tap operator not executed when subscribe not done ?

  • @ytPEDROjoao
    @ytPEDROjoao 2 ปีที่แล้ว

    Can we have access to the github repo with your examples?

    • @JoshuaMorony
      @JoshuaMorony  2 ปีที่แล้ว +2

      Sorry Pedro, usually I would but these examples are all scattered across various projects I am working on that aren't public at the moment

  • @AlexanderYaremchuk
    @AlexanderYaremchuk ปีที่แล้ว

    Hi, your real life example isn't clear to me - will this Observable produce value only when the whole list is updated?
    or it will give the latest previous value to the new Observable?

  • @phuongtran-qh5kq
    @phuongtran-qh5kq 2 ปีที่แล้ว

    Hi Joshua, thanks for the vid. i have 1 question regarding switchMap. I have 2 observables A and B, Observable B will use data from Observable A and emit data to the screen. 1 thing is that whenever there is data change relating to Observable B, Osbervable B is not emitting the changed data because Observable A is the starting Observable. Is there any other way that i can do for this?

  • @mayraitzeldejesusaldana4132
    @mayraitzeldejesusaldana4132 2 ปีที่แล้ว

    have too many proprietary restrictions on the user and I want more freedom in importing and exporting projects, soft and video editing

  • @TayambaMwanza
    @TayambaMwanza 2 ปีที่แล้ว

    Do you have some nestjs vids?

    • @JoshuaMorony
      @JoshuaMorony  2 ปีที่แล้ว +2

      I do but they are from years ago, I am actually working around some NestJS stuff again now with Nx so at some point in the future I'll likely do some more modern NestJS vids

  • @BernardoRuhman
    @BernardoRuhman หลายเดือนก่อน

    5382 Crist Turnpike

  • @ReedGriffith-m4f
    @ReedGriffith-m4f 2 หลายเดือนก่อน

    Bartell Ports

  • @GwjejGsgsjj
    @GwjejGsgsjj 2 หลายเดือนก่อน

    Lopez Matthew Hernandez Jessica Robinson William

  • @StoweLauren-t1c
    @StoweLauren-t1c หลายเดือนก่อน

    Lopez Jose Martinez Angela Lee Patricia

  • @sonhoang2392
    @sonhoang2392 2 ปีที่แล้ว

    Even a basic tutorial video is pretty much too complicated. I've just accepted I'll never make a soft using soft soft

  • @HabakkukBetty-r4l
    @HabakkukBetty-r4l 2 หลายเดือนก่อน

    Tremayne Valleys

  • @panchcw
    @panchcw 2 ปีที่แล้ว

    just wow

  • @OmegaKercher-j9x
    @OmegaKercher-j9x หลายเดือนก่อน

    Carolanne Meadows

  • @SophyHarlan-l6s
    @SophyHarlan-l6s หลายเดือนก่อน

    Walker Deborah Hall Jason Lopez Steven

  • @CoverdaleEdwiin-d1m
    @CoverdaleEdwiin-d1m 2 หลายเดือนก่อน

    Aurelio Isle

  • @SybleGathje-y6n
    @SybleGathje-y6n หลายเดือนก่อน

    Rath Lodge

  • @robertotomas
    @robertotomas 2 ปีที่แล้ว

    Tap isn’t reified.. I kinda feel like it should be removed

    • @JoshuaMorony
      @JoshuaMorony  2 ปีที่แล้ว

      I get your point but disagree, although generally best avoided either side effects through taps or manual subscribes are unavoidable at times, so I think it's part of an essential "reactive coding" toolkit even though it isn't (reified) reactive itself.

  • @DolaerAhommed
    @DolaerAhommed 2 หลายเดือนก่อน

    Lewis Linda Brown William Lee Robert

  • @WallaceAubrey-b2m
    @WallaceAubrey-b2m หลายเดือนก่อน

    Perez Dorothy Walker Mark Young Anthony

  • @ConnieDana-n6n
    @ConnieDana-n6n 2 หลายเดือนก่อน

    Johnson Maria Perez Jason Hernandez Linda

  • @SvjeGehjdk
    @SvjeGehjdk 2 หลายเดือนก่อน

    Lewis Robert Thompson Timothy Lopez Charles

  • @ZetwayBROX
    @ZetwayBROX ปีที่แล้ว

    You can do 99% of the work with filter, tap, map, switchMap, combineLatest, of, untilDestroy, catchError

  • @PaulHayes-o8h
    @PaulHayes-o8h 2 หลายเดือนก่อน

    Mayert Brook

  • @juliasetaftfera4484
    @juliasetaftfera4484 หลายเดือนก่อน

    0821 Else Forks

  • @nathanalberg
    @nathanalberg 2 ปีที่แล้ว

    i only subscribed because of your accent.