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

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

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

  • @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 ปีที่แล้ว +143

    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 ปีที่แล้ว +8

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

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

      @@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 ปีที่แล้ว +6

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

    • @ImperiumLibertas
      @ImperiumLibertas ปีที่แล้ว +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.

  • @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

  • @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!

  • @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.

  • @vladislavamarkova8379
    @vladislavamarkova8379 7 หลายเดือนก่อน +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.

  • @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 🙂

  • @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!

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

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

  • @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

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

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

  • @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!

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

    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.

  • @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

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

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

  • @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! ;)

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

    Finally got the SwitchMap.. Great video great explanation

  • @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.

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

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

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

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

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

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

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

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

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

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

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

    Awesome video! Thanks, Joshua!

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

    Extraordinary explanation man ❤

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

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

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

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

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

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

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

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

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

    More examples!! More examples!!!

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

    Pure gold, thanks for sharing!

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

    Great Video, thank you very much!!

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

    You are a great teacher. Well explained!

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

    Very helpful thanks!!!

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

    Great video! Clean with real life examples.

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

    Great tutorial thank you so much

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

    great video man! thank you so much for it!

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

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

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

    Awesome video thanks

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

    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!

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

    Thank you Joshua!

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

    thank you for your videos. You are awesome!

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

    good job man

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

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

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

    Great video thanks so much 🙏

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

    Thank youu!! :D

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

    Great video, surely it is helpful.

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

    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.

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

    I hope you get what you're looking for!

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

    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.

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

    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.

  • @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.

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

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

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

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

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

    So much value in this video. Keep going!

  • @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 😉

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

    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

  • @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 ?

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

    tap operator not executed when subscribe not done ?

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

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

  • @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.

  • @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?

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

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

  • @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?

  • @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

  • @ReedGriffith-m4f
    @ReedGriffith-m4f 25 วันที่ผ่านมา

    Bartell Ports

  • @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!!!

  • @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.

  • @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.

  • @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.

  • @HabakkukBetty-r4l
    @HabakkukBetty-r4l 24 วันที่ผ่านมา

    Tremayne Valleys

  • @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

  • @OmegaKercher-j9x
    @OmegaKercher-j9x 5 วันที่ผ่านมา

    Carolanne Meadows

  • @CoverdaleEdwiin-d1m
    @CoverdaleEdwiin-d1m 20 วันที่ผ่านมา

    Aurelio Isle

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

    just wow

  • @GwjejGsgsjj
    @GwjejGsgsjj 27 วันที่ผ่านมา

    Lopez Matthew Hernandez Jessica Robinson William

  • @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

  • @agathadouglas8109
    @agathadouglas8109 7 วันที่ผ่านมา

    Wilson Patricia Moore Scott Johnson Jose

  • @PaulWilliams-i2h
    @PaulWilliams-i2h 15 วันที่ผ่านมา

    Williams Steven Jones James Martinez Jose

  • @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

  • @HughesEdison-v8b
    @HughesEdison-v8b 10 วันที่ผ่านมา

    Wilson David Martin Christopher Lopez Laura

  • @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

  • @ThackerayJo
    @ThackerayJo 13 วันที่ผ่านมา

    Gonzalez Brian Moore Scott Wilson Robert

  • @jackfrancis4278
    @jackfrancis4278 7 วันที่ผ่านมา

    Martinez Elizabeth Anderson Richard Williams Michael

  • @SophyHarlan-l6s
    @SophyHarlan-l6s 7 วันที่ผ่านมา

    Walker Deborah Hall Jason Lopez Steven

  • @ClaudellWessenberS
    @ClaudellWessenberS 13 วันที่ผ่านมา

    Hernandez Elizabeth Miller Christopher Thomas Margaret

  • @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

  • @AnnNicola-o4d
    @AnnNicola-o4d 18 วันที่ผ่านมา

    Taylor Steven Clark Daniel Walker Edward

  • @EveBoyd-y9m
    @EveBoyd-y9m 19 วันที่ผ่านมา

    Garcia Margaret Garcia Christopher Johnson Christopher

  • @IanniniSwazas
    @IanniniSwazas 16 วันที่ผ่านมา

    Garcia Linda Rodriguez John Allen Sandra

  • @BartekKołodziej-h3v
    @BartekKołodziej-h3v 14 วันที่ผ่านมา

    Wilson Jennifer Young Edward Taylor Michael

  • @PaulHayes-o8h
    @PaulHayes-o8h 11 วันที่ผ่านมา

    Mayert Brook

  • @ConnieDana-n6n
    @ConnieDana-n6n 18 วันที่ผ่านมา

    Johnson Maria Perez Jason Hernandez Linda

  • @LouisRobinLouisRobin-i9b
    @LouisRobinLouisRobin-i9b 14 วันที่ผ่านมา

    Davis Daniel Anderson Sharon Lewis Maria

  • @JoyceHaynes-d2x
    @JoyceHaynes-d2x 20 วันที่ผ่านมา

    Harris Robert Taylor Richard Garcia Thomas

  • @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?

  • @WallaceAubrey-b2m
    @WallaceAubrey-b2m 7 วันที่ผ่านมา

    Perez Dorothy Walker Mark Young Anthony

  • @rileycacabacker8097
    @rileycacabacker8097 24 วันที่ผ่านมา

    Thomas Robert Jackson John Walker Patricia

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

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