Map, switchMap, mergeMap, flatMap, concatMap, exhaustMap in RxJS - what is the difference?

Learn what is the difference between map, switchMap, mergeMap, flatMap, concatMap, exhaustMap in RxJS and what method you should use in what case. Sometimes you see the different methods used for the same case and it is even more confusing.
TIMESTAMPS
0:00 Introduction
0:51 Map RxJS
3:06 MergeMap and FlatMap RxJS
4:55 ConcatMap RxJS
5:55 SwitchMap RxJS
6:37 ExhaustMap RxJS
7:18 Real example
► CHECK MY COURSES - monsterlessons-academy.com/co...
FOLLOW ME
► TWITTER - / monster_lessons

Пікірлер: 80

  • @LukeAvedon
    @LukeAvedon Жыл бұрын

    This is the best Angular channel.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Thank you!

  • @user-iu7de2ji6b
    @user-iu7de2ji6b Жыл бұрын

    love his tutorials, very good explained always.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Happy to hear that!

  • @gabriellavoro1495
    @gabriellavoro1495 Жыл бұрын

    You put out very good content, I've been enjoying your videos.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Glad to hear it!

  • @ki9wi
    @ki9wi9 ай бұрын

    this channel is gem. you deserve more subs.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    9 ай бұрын

    Thanks!

  • @programmingpurpose1329
    @programmingpurpose1329 Жыл бұрын

    Love your videos mate. You are best in angular ❤

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Thanks a ton!

  • @ghkpr
    @ghkpr Жыл бұрын

    lol, yesterday night I searched for monsterlessons academy mergemap flatmap switchmap, and here it is, thanks :D

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Enjoy!

  • @brenooandraderox
    @brenooandraderox Жыл бұрын

    That's awesome, thank you for sharing this useful content!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    My pleasure!

  • @MukeshSharma-xd4dn
    @MukeshSharma-xd4dn Жыл бұрын

    Fantastic video.... Many thanks.. Learnt a lot!!!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Great to hear!

  • @user-lt4cg9ji7v
    @user-lt4cg9ji7v9 ай бұрын

    Great Explanation. Thank You!!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    9 ай бұрын

    Glad it was helpful!

  • @collectingretrotech
    @collectingretrotech4 ай бұрын

    excellent explanation and example, I don't think anyone could have explained this subject better than what you just did : ) THANK YOU

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    4 ай бұрын

    Glad it was helpful!

  • @ekchills6948
    @ekchills694814 күн бұрын

    love this so much exactly what I needed

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    13 күн бұрын

    Glad you like it!

  • @qwerty123246
    @qwerty123246 Жыл бұрын

    Thank you buddy! It really helps.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Glad to hear it!

  • @pauldudley1273
    @pauldudley1273 Жыл бұрын

    wooow, I've been struggling with this for a long time trying to find an explination I understand and you broke it down so will wih the delay added in to slow down the function. Fantastic content

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    You're very welcome!

  • @Niks00700
    @Niks007006 ай бұрын

    Thanks for the quality content 👍

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    6 ай бұрын

    Glad you enjoy it!

  • @user-cx7nq4vb6e
    @user-cx7nq4vb6e Жыл бұрын

    Very useful information, Thanks

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Glad it was helpful!

  • @kanha12297
    @kanha122979 ай бұрын

    Awesome tutorial ❤

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    9 ай бұрын

    Thank you! 😊

  • @atmospheric_b
    @atmospheric_b3 ай бұрын

    thank you very much! That`s an ideal tutorial!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    3 ай бұрын

    You're welcome!

  • @MM-ts9jy
    @MM-ts9jy2 ай бұрын

    "You will learn once and forever..." I'm now ashamed to admit this is the second time I check this video this week 🤣

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    2 ай бұрын

    You learned the concept, now you just recheck the code -_-

  • @CodingAbroad
    @CodingAbroad3 ай бұрын

    It sounds like in most cases you probably wouldn’t see a difference between switchMap, mergeMap and concatMap unless your ui had a element such as a select dropdown to quickly change the results and the api being a bit slow

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    3 ай бұрын

    You will and I showed it in the video. mergeMap won't wait for previous observable to complete and concatMap won't cancel previous api call for example.

  • @michaelnagatoshi1830
    @michaelnagatoshi183016 күн бұрын

    Fantastic!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    15 күн бұрын

    Many thanks!

  • @user-yr6zg7ux3k
    @user-yr6zg7ux3k Жыл бұрын

    Thanks!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Welcome!

  • @swapnith
    @swapnith5 ай бұрын

    I understood all this concepts of rxjs ,so i am preparing for interviews so this will help me a lot tnx but small confusion still not understood what is diff of mergemap and flatmap, anyhow great job man

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    5 ай бұрын

    flatMap is an alias for mergeMap. There are no differences.

  • @maciej12345678
    @maciej123456788 ай бұрын

    5:49 so you can use it concatMap if you have array of endpoint it will request each after another

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    7 ай бұрын

    Yes

  • @rhnkashyap
    @rhnkashyap Жыл бұрын

    So, concatMap and switchMap resolves race condition if we are triggering a single API a lot of times and wants the last request's response as final output. RIght?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    Yeap

  • @rhnkashyap

    @rhnkashyap

    Жыл бұрын

    @@MonsterlessonsAcademy Thanks man, huge help.

  • @waleedsharif618
    @waleedsharif618 Жыл бұрын

    What do you think of styling, which one of these should we use in react: mui 5, bootstrap, react styling component, css, tailwind?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    I'm a huge fan of Tailwind. My whole website is build with it without a single CSS line. monsterlessons-academy.com/

  • @waleedsharif618

    @waleedsharif618

    Жыл бұрын

    @@MonsterlessonsAcademy i started to learn tailwind 3 days ago, one question: should we use it in big projects ? In my work im free to choose styling technology, im just wondering to use it or not because html classNames gets too messy, if i have everywhere classNames it looks too much code when using tailwind in html (but its super fast to style compared to other technologies)

  • @Georgii1212
    @Georgii1212 Жыл бұрын

    Great tutorial, thanks. In your code, if we write : from([0, 1, 2, 3, 4]) .pipe(operator((x: any) => from(x).pipe(delay(500)))) .subscribe(...) so we suppose we use 'from' operator inside another 'from' operator (instead of "of" as you did). And there is nothing in the console. So why it does not work if we call 'from' inside 'from' ?

  • @Georgii1212

    @Georgii1212

    Жыл бұрын

    Hopefully, I found the reason. After debugging (error: console.log, inside subscribe), we can see that the error appears inside the statement from(x) above : You provided '0' where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable. It would mean that basic type values, such as number or string, are not acceptable as parameters for a 'from' operator. While the 'of' operator accepts them.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    I used from to simulate a stream of data which come with time. You reply is correct operators like switchMap want to get an observable back. Of gives an observable this is why it works

  • @waleedsharif618
    @waleedsharif618 Жыл бұрын

    Another question: what do you think of nextjs? Nextjs is for server-side rendering and i know it but cuz nextjs has many good things such as routing, can i use nextjs for client-side rendering ? Is there any difference if i use react for client-side rendering or nextjs?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    it's a stable and prod proven solution. if your app need ssr in react and your app "fits" next js then go for it. But again 90% of frontend apps don't need ssr at all.

  • @waleedsharif618

    @waleedsharif618

    Жыл бұрын

    @@MonsterlessonsAcademy so if i only use nextjs on client side instead of creat react app, its fine ? Any downsides?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    @@waleedsharif618 It makes zero sense then. Just take plain react.

  • @waleedsharif618

    @waleedsharif618

    Жыл бұрын

    @@MonsterlessonsAcademy but if i need to fetch some data from backend, then its good to go for nextjs?

  • @John-eq5cd

    @John-eq5cd

    Жыл бұрын

    @@waleedsharif618 Yes, I have worked on a commercial app using Next.js which can be used for frontend components and also api calls interfacing with Prisma and a PostgreSQL database. It seems to work pretty well.

  • @arielhillel5884
    @arielhillel5884 Жыл бұрын

    In which courses do you talk extensively about these topics?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    In none of them. My courses are focused on building production applications.

  • @jozefrzadkosz5945
    @jozefrzadkosz5945 Жыл бұрын

    Which IDE are you using? Sublime?

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    It's Vim. kzread.info/dash/bejne/i6aAy9egdMuppc4.html

  • @alexx7608
    @alexx7608 Жыл бұрын

    first one to watch!!!

  • @phill13able
    @phill13able2 ай бұрын

    I thought I knew RxJS. You showed me otherwise

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    2 ай бұрын

    Glad to hear that!

  • @qodeninja
    @qodeninja10 ай бұрын

    the example here is convoluted, need a simpler setup.

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    10 ай бұрын

    You can check other examples and then returns here as they are even more complicated. I checked :)

  • @qodeninja

    @qodeninja

    10 ай бұрын

    thanks for creating this, just hard to find good resources on RXjs because most of the documentation is outdated or assumes some deep experience with angular, lol. I cant tell you how much time I wasted trying to get operators to work only to realize that they have to be IN pipes, while most examples use them OUTSIDE of pipes. I just need to see basic patterns and there is nothing out there using rx 7 in a clean and concise way that illustrates how to model an application/service.@@MonsterlessonsAcademy

  • @hazartilirot1014
    @hazartilirot1014 Жыл бұрын

    What videos? You point your finger on empty space. There is nothing.

  • @dmitriyobidin6049
    @dmitriyobidin6049 Жыл бұрын

    I don't want to sound rude, but making a real world example where all those operators are interchangable have zero educational value...

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    Жыл бұрын

    First we looked on all methods and understood the differences. I real example I showed the case where 2 methods are interchangable. Not all of them. Because there are cases where different methods can give the same result.

  • @moryaffe7595
    @moryaffe75956 ай бұрын

    Thanks!

  • @MonsterlessonsAcademy

    @MonsterlessonsAcademy

    6 ай бұрын

    Thank you so much for your support. It means a lot to me!