RxJS Observables Crash Course

Поділитися
Вставка
  • Опубліковано 19 гру 2024

КОМЕНТАРІ • 190

  • @checkmate6732
    @checkmate6732 6 років тому +51

    BEGIN ----> 13:02
    installation
    13:02 ----> 23:20
    creating observables from events
    23:20 ----> 30:41
    creating observalbes form arrays
    30:41 ----> 36:02
    observables from scratch
    36:02 ----> 46:26
    abservables form promise
    46:26 ----> 51:33
    interval, timer & range
    51:33 ----> 59:35
    map & pluck
    59:35 ----> 1:06:39
    merge & concat
    1:06:39 --> END
    mergeMap & concatMap

  • @christopherderrell8470
    @christopherderrell8470 7 років тому +76

    I've reached the point where if any topic is presented as seemingly impossible for a starter to understand, I just add brad traversy to the end of the search.

  • @richierob62
    @richierob62 7 років тому +4

    Most of the times I watch your videos, it’s like a treasure hunt for me. I know 95% of what you’re about to share, but I love learning that 5% that’s new! And it’s always there! Your style is so stupidly simple that it’s brilliant. Don’t change a thing. Thank you!!

  • @sutirthamarjit
    @sutirthamarjit 7 років тому

    The beauty of this video is - No Complex Term, No Complex talk,only very straight simple demo.
    Easy to learn. :)
    Great Video.

  • @denisfrolov242
    @denisfrolov242 8 років тому +69

    Excellent! Simple, plain, straightforward. Great job bud!

  • @billbortkevich2300
    @billbortkevich2300 4 роки тому +1

    You, sir, have a talent to present complicated context in q very simple and digestible way.
    Thank you

  • @HungBuiOfficial
    @HungBuiOfficial 7 років тому

    Rxjs Observable concept was really bugging me until watching this video. Simple & easy to follow.. Really well done. Thanks

  • @redsnakeintown
    @redsnakeintown 8 років тому

    Very clean presentation and informative...A trick to comment is to the select the lines you want and hit Command+/ or Ctrl+/ (Windows)

  • @spaxxkey5936
    @spaxxkey5936 5 років тому

    this has to be the most under rated RXJS youtube video, it should be like a BILLION views by now, i strongly suggest anyone battling with the "Observable stream enigma" to watch this.. Thanks BRAD

  • @lucisetumbrae
    @lucisetumbrae 7 років тому

    Super video. Finally I have a fundamental understanding of Observables that allows me the flexibility to seamlessly use them as part of code. Thanks much for the effort.

  • @ganqqwerty
    @ganqqwerty 7 років тому

    Very logical and step-by-step. As soon as you started to talk about the next example I already knew what it will be, because I wanted to try the same thing. Great-great-great video, gonna go and buy myself a course.
    The only thing: I didn't set up the environment, instead I took the existing plunkr where rxjs is already connected.

  • @pascallussac6917
    @pascallussac6917 4 роки тому +3

    i'm now watching and learning rxjs, as old as this video is, it's still dope!

  • @ajengwall9181
    @ajengwall9181 8 років тому +3

    Thank you so much for this. I've been trying to wrap my head around this library for too long. Great tutorial!! :D

  • @niteeshbhargava3696
    @niteeshbhargava3696 7 років тому +2

    Crystal cleared explanation. Best video I have ever seen for RX-js.

  • @koolmo
    @koolmo 7 років тому

    What a great video.. Thank you for your step-by-step intro to RxJS.

  • @raistlinmajere2257
    @raistlinmajere2257 8 років тому +1

    Good timing, Brad! I was just watching MEAN ToDo's on Udemy and wondering hat the pointer actually did..... Thank You for the knowledge.

  • @surajitdas6555
    @surajitdas6555 6 років тому

    Very simple, plain and superb explaination provided which clears all doubt of mine.
    Suggestions: Most of time went in typing, would have great if would have used some intelligence and keyboard shortcuts. :)
    Really worth to spend 1 hour time to understand these concepts with very simple examples. Thanks a lot, really appreciate your effort.

  • @nzjemountfort
    @nzjemountfort 7 років тому

    Thank you - You have clarified alot of context around this

  • @atticsolutions1476
    @atticsolutions1476 5 років тому

    Great stuff and very helpful to get an overview of RxJS. Thanx!

  • @byassine52
    @byassine52 6 років тому

    Great video! I found it just when I needed be when the RxJS documentation was difficult to understand :)!
    Thanks a lot!

  • @vineetbirlasoft
    @vineetbirlasoft 8 років тому +1

    Thanks for explaing Rx in a verysimple way keep posting..

  • @paul-razvansarbu2067
    @paul-razvansarbu2067 7 років тому

    This is very well explained.
    I was very intimidated by the subject, helps me a lot
    Thank you!

  • @snakepat332
    @snakepat332 7 років тому +2

    1:06:11 Using "merge" instead of "concat" is producing the exact same sequence on this example. Maybe using a service API calls would make the difference more explicit ?
    Otherwise, very useful video I really enjoyed watching and following along with. Good job!

    • @surajitdas6555
      @surajitdas6555 6 років тому +1

      Snakepat In merge both observables will run concurrently but in concat it will run sequencially. Thats the difference as per my knowledge and I think thats true. :)

  • @HugoRamirezSoto
    @HugoRamirezSoto Рік тому

    Thank you Brad, this is a great tutorial. Only one comment, I had to increase a lot the volume of my speakers, I couldn't hear you well enough. Maybe you should increase the volume of your microphone.

  • @rahulsingh-px6vo
    @rahulsingh-px6vo 6 років тому

    Very nicely explained. You are always excellent Brad.
    thanks TraversyMedia :)

  • @np7227
    @np7227 7 років тому

    Extremely good vedio, as it helped me to understand observables in a best manner.....!!

  • @dallinparker2387
    @dallinparker2387 7 років тому

    This helped so much to better understand RxJs! thank you.

  • @MatkatMusic
    @MatkatMusic 8 років тому

    at 16:03, how are the different anonymous functions differentiated? There's no data type for the parameter. does the subscribe() method require 3 unique functions in a specific order as the arguments?

    • @Skaryon
      @Skaryon 8 років тому

      Late reply, but yup. It's just a specific order.

  • @carlospoon6422
    @carlospoon6422 8 років тому +1

    Great Brad! you can read my mind too - :o) I had RxJS & Bacon.js down on my list.
    Loved your last one on Ractive.js, so bought your 4 hour course too, plus a few more... THANKS again !!!

    • @carlospoon6422
      @carlospoon6422 8 років тому

      Brad, Any chance you might do a crash course on Cycle.js ? - It would tie in well with you RxJS course

  • @shuaibird.official
    @shuaibird.official 7 років тому

    I'm so interested about this library. It looks so cool

  • @DemystifyFrontend
    @DemystifyFrontend 5 років тому

    Awesome and simply explained. Good job mentor

  • @JapanScript
    @JapanScript 7 років тому

    Greatest course about RxJS, thanks so much!.

  • @olehivaniuk1441
    @olehivaniuk1441 7 років тому +1

    Thank you very much! It was informative and pretty simple for understanding!

  • @kuldeep1950
    @kuldeep1950 7 років тому

    out of curiosity at 20:17, why the output is not...
    v
    vg
    vgb
    is there by default throttle for event observables?

  • @haideralishah728
    @haideralishah728 8 років тому

    Thanks, its simplicity made it very best.

  • @EspaniaBerserk
    @EspaniaBerserk 6 років тому +2

    Title:
    "xyz Crash Course"
    Length:
    "1:13:04"
    -Every programming tutorial in the world

  • @shashankpandey1019
    @shashankpandey1019 5 років тому +1

    $ webpack -w is not working , error below
    $ : The term '$' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
    spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + $ webpack -w
    + ~
    + CategoryInfo : ObjectNotFound: ($:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    • @hdauven8434
      @hdauven8434 5 років тому +1

      Hey, Brad uses an old webpack version in his repository. You can choose to edit his webpack config file to work with newer versions or you can use the locally installed webpack dependency that is set in the package.json.
      To run the local webpack module you need NodeJs version 5+. Run the command 'npx webpack -w' and it should run.

  • @davidjustice2323
    @davidjustice2323 5 років тому +1

    Your voice makes my day! Love ya bro

  • @maxpowers6880
    @maxpowers6880 6 років тому

    If you are only interested in RxJS concepts skip to 13:00

  • @bigggjimmm
    @bigggjimmm 6 років тому

    thanks to u i'm getting some from all this Observed mess !!

  • @hirazainab3119
    @hirazainab3119 6 років тому

    Best explanation on YT on this topic !!

  • @noherczeg
    @noherczeg 8 років тому +31

    The video is nice, but I'm already past the 30 minute mark and still didn't get the information why would I use Observables in any of your examples.
    The first one could be done by simply using jquery, and the array example is just a forEach.
    I know that Observables are very useful in the right situations, but I think you should have made the point much earlier.

    • @thomashodges841
      @thomashodges841 8 років тому +4

      It's easier to teach starting from simple examples.

    • @electricant55
      @electricant55 7 років тому +8

      You shouldn't. Using Rx for something like logging clicks would be like using F1 race car to drive to a shopping mall. Vanilla JS would be enough (jquery? really?). However, to understand Rx enough to solve harder problems you need to get comfortable with the basics. A proper explanation of why and when you should use Rx would take up half this course's time.

    • @noherczeg
      @noherczeg 7 років тому +3

      "[...], but I think you should have made the point much earlier."
      You missed this?

    • @mattmarkus4868
      @mattmarkus4868 7 років тому +11

      Rafal: "It would take up half of this course's time". Really? You can't discuss the use cases for this technology without taking up 60 minutes? Hmm. Seems doubtful. In any case, that should be the first question to answer when starting an instructional video about a new programming paradigm. Too many people want to use something just because it's new, but that doesn't matter to many of us. A good engineer is always thinking about trade offs and costs associated with doing something vs something else. He wants to know, first and foremost, why he should take the time to learn this when the examples shown can already be achieved using simple JS or Jquery. That is the most important question by far so the instructor should open the course with a compelling reason. Great comment by original person.

    • @electricant55
      @electricant55 7 років тому +4

      Matt Markus Use cases in the tutorial? What? Why would you even start watching a tutorial when you don't know what the technology is for? That's the most retarded thing I've heard

  • @franklinbacayo1519
    @franklinbacayo1519 8 років тому

    nicely laid-out, good job! thanks

  • @jorgesepulveda8380
    @jorgesepulveda8380 8 років тому +5

    when I type webpack -w on the terminal after installing all with npm install, it returns something like the order not found. Any idea?

    • @Indicestudiocl
      @Indicestudiocl 7 років тому +2

      In your proyect folder run:
      ./node_modules/.bin/webapck
      ./node_modules/.bin/webapck -w
      And dont install webpack globally

    • @memecommandomike4659
      @memecommandomike4659 7 років тому +1

      webpack needs to be installed globally for the cli command to work, you can get this installed with "npm install -g webpack"

  • @paulovinicius9940
    @paulovinicius9940 4 роки тому

    For those in November 2020:
    const sourceInterval = interval(1000). *pipe* (take(5));
    sourceInterval.subscribe(
    x => {
    console.log(x);
    },
    error => {
    console.log(error);
    },
    completed => {
    console.log('Completed!');
    }
    );

  • @Algebrodadio
    @Algebrodadio 7 років тому +3

    Dude - I so needed this. Thanks.

  • @algoforge24
    @algoforge24 7 років тому

    Awesome! Everything I needed. Thanks Brad!

  • @mikemameko8830
    @mikemameko8830 8 років тому

    When I try to run example on 32:24 I have an error: Uncaught TypeError: this._subscribe is not a function

  • @danvilela
    @danvilela 5 років тому

    Very good! But why that other ways of doing it are not correct?

  • @kharicky
    @kharicky 7 років тому

    Was really helpful getting a quick overview, Thanks !! :-)

  • @demisx
    @demisx 7 років тому

    What's the point of passing "complete" arg when you don't use it? Why not just `() => { console.log('Completed') }`?

    • @paulovinicius9940
      @paulovinicius9940 4 роки тому

      @@nightowl9497 You roasted the fudge out of him, it was a necessary roast to be honest.

  • @ASoftwareEngineer
    @ASoftwareEngineer 7 років тому

    very nice tutorial and easy to understand, thanks a million

  • @PrasannaBhatK
    @PrasannaBhatK 8 років тому

    Good Presentation. Clean and Easy

  • @joannagoda2245
    @joannagoda2245 7 років тому

    Great job. One question: you mentioned double subsription may cause problems in some cases. What are those cases?

  • @8uddishh
    @8uddishh 7 років тому

    $.ajax already returns a promise with done and fail, why we convert to promise. how do they both differ??? is it only coz observable can only take a promise object as parameter???

  • @Bigdaddy91982
    @Bigdaddy91982 7 років тому +1

    30.41 why did you call it a Map? Where are the key value pairs? Isn't it a 2 dimensional array?
    I'm kind of new to the Map data structure. Thanks in advance.

  • @isroiljohntolibov6057
    @isroiljohntolibov6057 5 років тому

    Awesome tutorial helped a lot. I wonder if you can make a redux-observable and redux-symbiote course please

  • @cristianscript5649
    @cristianscript5649 5 років тому

    what's the difference between switchMap and add another map function below humm ??

  • @ganqqwerty
    @ganqqwerty 7 років тому

    why when you listen to keyup, you have some of your inputs logged multiple times?

    • @BillyDukelow
      @BillyDukelow 7 років тому

      Because he used append which will append the value to what already exists. If you want to completely replace what already exists then you would replace output.append(e.target.value) with output.html(e.target.value)

  • @albertogarcia1101
    @albertogarcia1101 6 років тому

    Thanks Brad! Its was very useful.

  • @tuviakhusid4320
    @tuviakhusid4320 7 років тому

    Very useful video. Thanks, guys!

  • @digao-sn
    @digao-sn 7 років тому

    Powerful examples!
    Thank you.

  • @hotmandead1
    @hotmandead1 5 років тому

    For me this e.target. isn't working what has changed ??

  • @redsnakeintown
    @redsnakeintown 8 років тому

    wouldn't what you keep on doing - should work also ? - the shorthand of x => console.log(x) = .subscribe(console.log)

  • @jcyh
    @jcyh 8 років тому

    Super simple and clear and awesome tutorial!!!!!!

  • @valikonen
    @valikonen 8 років тому

    From where is coming value from interval? 0,1,2,3,4...?

    • @jrr702
      @jrr702 8 років тому

      he adds .take(5) to the end of interval(). take() has an argument of count which represents the amount of values eg .take(count). .take(5) means that it will produce 5 values 0 - 4. The interval(100) means he will output a value every 100ms, in this instance there are 5 values 0 - 4. In turn with Rx.Observable.interval(100).take(5) he is going to output 0, 1, 2, 3, 4 with each spaced 100ms apart.

  • @ManuLG
    @ManuLG 8 років тому

    Thanks, it was really good. Keep doing great videos.

  • @Gatsbi
    @Gatsbi 6 років тому

    That' was very nice and clear. Subscribed

  • @owlattack1971
    @owlattack1971 7 років тому

    @Traversy Media
    Where is your accent from? My guess is Boston.

  • @fflorin1994
    @fflorin1994 7 років тому

    I have a problem with live-reload, actually the content on page remains the same. I use VS code and Chrome

  • @tuananhdo1870
    @tuananhdo1870 5 років тому +1

    Hey Brad, Can you make tutorial on redux-observable

    • @isroiljohntolibov6057
      @isroiljohntolibov6057 5 років тому

      yes that would be awesome if Brad makes tutorial on redux-observalbe.

  • @FredoCorleone
    @FredoCorleone 6 років тому

    John... Tom... Shawn! Shawn! Shawn! Shawn! haha That glitch from Heavy Rain

  • @najibla
    @najibla 7 років тому

    Thanks! Great video for beginners.
    The only issue is that it was so slow that i had to play it in x2.

  • @dmytrogarastovych9296
    @dmytrogarastovych9296 8 років тому +6

    Is this course going to be available at Udemy?

  • @thomashodges841
    @thomashodges841 8 років тому

    YOur very last version gives me errors if I type a username that doesn't exits. For example, my gitHub name it thodges314. If I type thodges3 it breaks at that point and doesn't let me type the rest of my name.

    • @thomashodges841
      @thomashodges841 8 років тому

      I have tried both defining the error functionality in subscribe and catching the error and throwing an observable of various forms. All suffer the problem that they halt the functionality. Any tips on managing that?

  • @shashankpandey1019
    @shashankpandey1019 5 років тому

    $ webpack -w is not working , error
    PS F:\React-Projects
    xjs_boiler-master> webpack -w
    webpack : The term 'webpack' is not recognized as the name of a cmdlet, function, script file, or operable
    program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + webpack -w
    + ~~~~~~~
    + CategoryInfo : ObjectNotFound: (webpack:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    • @JuliaSleeps
      @JuliaSleeps 5 років тому

      try command ./node_modules/.bin/webpack

  • @shikhadeepak82
    @shikhadeepak82 7 років тому +1

    Thanks.... Very nice video. I learned a lot.

  • @cristianscript5649
    @cristianscript5649 5 років тому

    how can you do output.html('h1'+bla bla bla) in Angular?

  • @shashankpandey1019
    @shashankpandey1019 5 років тому

    getting error :
    (index):12 GET "127.0.0.1:8000/dist/app.bundle.js" net::ERR_ABORTED 404 (Not Found)
    any one help .

  • @scottsmyth3251
    @scottsmyth3251 4 роки тому

    Great intro video, thanks.

  • @mrdoner3451
    @mrdoner3451 7 років тому

    How is a stream different from state, like in react?

  • @ghanimalmarzouqi3277
    @ghanimalmarzouqi3277 7 років тому

    Thanks Brad .. This was very helpful ..

  • @OmarAMRANI
    @OmarAMRANI 8 років тому

    Awesome presentation!!

  • @AustinLovell
    @AustinLovell 7 років тому

    I needed this. Thank you!

  • @MopeyFand
    @MopeyFand 7 років тому

    Very helpful! Thank you, sir!

  • @dragonlady2001
    @dragonlady2001 6 років тому

    Your reference to the switchMap "replacing" flatMap at 01:09:44 is completely wrong, they work differently and you would use them both depending on your need. In short: the "cancel" effect you get with switchMap does not exist with flatMap, this not-so-subtle difference is super important to know. You say "... used to be called", so misleading.

  • @wdhuntertv3850
    @wdhuntertv3850 7 років тому

    top notch. great work

  • @japegeteam1745
    @japegeteam1745 7 років тому

    You should make a course about how to make really good courses.

  • @nanquim
    @nanquim 7 років тому

    great videos. can you enable subtitles, please?

  • @PaweWaszczynski
    @PaweWaszczynski 7 років тому

    swichMap example does not the show power of the operator. Could be done with mergeMap

  • @smartinsantos
    @smartinsantos 7 років тому

    Perfect! keep up the good work!

  • @jhkmatthews
    @jhkmatthews 7 років тому

    Thank you! Very helpful.

  • @feniully7483
    @feniully7483 8 років тому

    For evereryone come from JavaFx, It's similar with JavaFx Observable with less typing problems.

  • @ejazkarimhunzai
    @ejazkarimhunzai 7 років тому

    Start from 13:04

  • @myvue4587
    @myvue4587 4 роки тому

    Great.... good video 👌..... thank you

  • @girish3643
    @girish3643 7 років тому

    Brilliant explanation Thank you:-)

  • @korbendallas1210
    @korbendallas1210 7 років тому

    that's awesome...thanks, bro!

  • @pianoflow9041
    @pianoflow9041 8 років тому

    Awesome video!

  • @SquirtleSquadee
    @SquirtleSquadee 6 років тому

    This was a good video, but I'm still not getting the point of RxJs. Like....what is the advantage of doing this over just doing a bunch of promise changes with .then and .catch?

  • @jamesjohnson5386
    @jamesjohnson5386 8 років тому

    great tutorial. thanks man