The Async Await Episode I Promised

Поделиться
HTML-код
  • Опубликовано: 10 окт 2018
  • The await is over! Learn how to make your JavaScript Promise code beautiful and concise with async-await github.com/codediodeio/async-...
    Jake Archibald's Talk: • Jake Archibald on the ...
    Demos with Angular: / @digitalfluency
  • НаукаНаука

Комментарии • 1 тыс.

  • @kiwihour333
    @kiwihour333 2 года назад +488

    Glad he returned the promise that we've long awaited

  • @garywaddell6309
    @garywaddell6309 5 лет назад +1888

    You’re the only guy that I slow the speed down instead of skipping or speeding it up 🙂. Love the emoticons in the code, how do you do that?

    • @Fireship
      @Fireship  5 лет назад +317

      Thanks Gary. They are supported natively on most systems now so you can copy them from Emojipedia, or use them on the web with a utf8 meta tag.

    • @__mayank
      @__mayank 5 лет назад +366

      You can also use the Windows key + dot/period shortcut anywhere in Windows

    • @davidn7026
      @davidn7026 5 лет назад +16

      oh sweet thank you Mayank

    • @LukePighetti
      @LukePighetti 5 лет назад +75

      On macOS control+command+space pulls up the Emoji keyboard

    • @djadjana
      @djadjana 5 лет назад +9

      ahah i was just going for the speed option when i saw your comment on the top of the comment list XD

  • @skylible
    @skylible 5 лет назад +633

    "When you're start making promises that's when you're more likely to screw things up"
    That's also how it works in real life. Noted.

    • @cyan2048
      @cyan2048 2 года назад +10

      I've always thought JavaScript could never actually be a good analogy for everyday life.

    • @Mzulfreaky
      @Mzulfreaky Год назад +2

      Yepp

    • @neux64
      @neux64 Год назад

      I knew someone would quote this before I looked through these comments.

    • @nullbeyondo
      @nullbeyondo 10 месяцев назад

      I just made a promise to a friend of attending a surprise birthday tomorrow and I probably screwed it up because I also promised my family to go out on a trip the same day which I haven't resolved yet ugh.

  • @kld0093
    @kld0093 5 лет назад +1595

    You Promised, and we awaited.
    ...Sorry for bad joke

  • @taltalonix
    @taltalonix Год назад +30

    I was debugging something for an hour and decided it's finally time to fully understand the async / await functionality, turns out the concurrent map execution was the issue lol. Thank you for the quality content (from 4 years ago), you are helping me a lot and everyone else in the community.

  • @busyrand
    @busyrand 5 лет назад +50

    Promise Statements and Async Await are the favorite things I've recently learned about in JavaScript. This lecture was/is right at the borders of what I understand, and was challenging in a good way. I appreciate the visuals. I really appreciate the additional lecture resources you mentioned. I will study them and loop back to this periodically until I'm clear on what was presented.

  • @thehumanslayer55
    @thehumanslayer55 5 лет назад +204

    You deserve so many more views, favorite channel about development on youtube

  • @loddulf
    @loddulf 5 лет назад +4

    Being new as a developer with just over a year coding and picking up JS as my main language a couple of months back, this video explains so many of the issues I have encountered coming from a synchronous language (Java and Python) to async in JS and TS. This channel does a great job of explaining essential concepts to newcomers like me. I'm glad I found the channel. Thanks!

  • @jesselima_dev
    @jesselima_dev 3 года назад +18

    This video is from Oct 11, 2018. It is still one of the best explanation I have ever seen. It is just so clear. And that recommended video about the NodeJS event loop is a must-watch for JavaScript developers. I am an Android Developer and I saw that video. So if you are JS Dev and you did not, you might be a bit late. No worries there is still time. :P

  • @Jopie65
    @Jopie65 4 года назад +47

    It's good that you explain the background of async/await!
    I consider those keywords both a blessing and a curse. In my experience, people new to JavaScript use it without knowing what's going on in the background. This often leads to bad results which they don't know how to resolve.
    When you know how promises work, you can actually appreciate what async/await is abstracting away for you.

    • @robertzeurunkl8401
      @robertzeurunkl8401 2 года назад +4

      When I started working with Promises, it took me a while to realise that the _.then()_ was pretty much the same problem as the callback. And the big problem for me was that outside the "then()", I had no way of knowing WHEN the then has resolved, or even if it had at all. "Await" is much better.

  • @shop.autocrew2570
    @shop.autocrew2570 5 лет назад +150

    Typo at 8:00, screen on the right, line number 67, it should be a=v.
    Great tutorial! 😀

    • @Fireship
      @Fireship  5 лет назад +33

      You're right, good eyes :)

    • @orcsword
      @orcsword 5 лет назад +28

      Oh, thank you man, I thought that is something wrong witm me, when I was trying to understand why is there are a=v

    • @karinchechik2661
      @karinchechik2661 5 лет назад +12

      @@Fireship You should add this as a comment or something for future viewers.. and thanks for the great tutorial! :)

    • @oksanaserhiivna2634
      @oksanaserhiivna2634 5 лет назад +2

      Yep, I also went to check in the comments whether smth had been already mentioned on that point, so that just not to blurt out anything silly. :) Still I really love to re-watch these tutorials now and then!

    • @firstprincipleslearning
      @firstprincipleslearning 5 лет назад +1

      I was about to write the same comment. Good catch !

  • @EelFeEr
    @EelFeEr 5 лет назад +37

    It blown my mind. I need to study a lot yet. Great video, thanks!

  • @aerivera
    @aerivera 5 лет назад +29

    My mind just was blown away, amazing tutorial, as always.

  • @tomlemanh5506
    @tomlemanh5506 5 лет назад +4

    LOVE this... You've helped me so much understanding this concept.

  • @davieskwarteng
    @davieskwarteng 5 лет назад +2

    I have learned so much in a short period from your channel ... you deserve tons of credit

  • @hambrsoombaboyan2078
    @hambrsoombaboyan2078 4 года назад +1

    This was one of the videos that I didn't want to skip any second!! GREAT JOB ! Much Appreciated!

  • @connormcgill4798
    @connormcgill4798 5 лет назад +21

    I love this channel and maintain a pro subscription over on their site and have found it to be more than worth the price of subscription, free access to current and upcoming courses is amazing and I love how a lot of the pro videos are a direct and more in-depth look at an earlier free video with an emphasis on real world use case scenarios. This video is excellent and really helped me to further understand how and more importantly when and when not to use async await in my code. Thanks again man and keep producing incredible content!

    • @Fireship
      @Fireship  5 лет назад +5

      Thank you Connor! Happy to hear the feedback. How NOT to use async/await is probably the most important part :)

  • @dakedres
    @dakedres 4 года назад +11

    Holy shit! I had no idea about the for await... loop! That's amazing, thank you!

  • @arisgrey8772
    @arisgrey8772 5 лет назад +1

    The best video I've watched so far for await / async. I covers all the aspect in such small duration. Loved the emoji too :D

  • @rahulsawant5531
    @rahulsawant5531 5 лет назад +1

    Your way of explaining things is just amazing! Thanks 😊👍

  • @tobiasrasmussen4347
    @tobiasrasmussen4347 2 года назад +7

    Hats off to you, you legend. It's mad that you can symmarize all of these concepts into just 12 minutes while making more sense then all the other videos out there that take 3-4 times longer.

  • @hicoop
    @hicoop 2 года назад +3

    Incredible video. I avoided async and await because I didn't know what I was doing but now I think I get it

  • @TT-pu1lw
    @TT-pu1lw 3 года назад +1

    I ll feel so grateful finding your channel. As soon as I start making money , gonna buy those awesome courses

  • @markemerson98
    @markemerson98 3 года назад

    bravo - the best 12 minute clear and simple explanation of promise, async/await I have seen to date...

  • @elbys_pocket
    @elbys_pocket 5 лет назад +9

    It’s insane how quickly JS is developing new features. So excited to see what happens next or if we can get an ES based typing system. Thanks for the vid!

  • @alanschwarzlopez
    @alanschwarzlopez 5 лет назад +3

    Man you definitely deserve much of the credit for the success of my future StartUp^^
    Please don't stop, your videos are making the world a better place, thank you

    • @Fireship
      @Fireship  5 лет назад +5

      Great to hear that! Buy me a beer when your valuation reaches 1Billion.

  • @Dan-codes
    @Dan-codes 3 года назад

    This was very helpful. I like how rapidly you gave instruction, yet made it very clear.

  • @greenie2600
    @greenie2600 2 года назад

    The clearest explanation of async/await that I've encountered. Well done!

  • @kazpeh
    @kazpeh 5 лет назад +3

    This video cleared a lot of things up for me, thank you!

  • @theprince08853
    @theprince08853 4 года назад +8

    I'm a backend dev and I just wanted to say this was a brilliant to-the-point video. I had to watch it twice but very invaluable. Subbed.

  • @mohammedibrahimali2988
    @mohammedibrahimali2988 5 лет назад

    Each an individual day is a learning from you guys, you guys deserved much better. Await for the T-Shirt

  • @zigmasslusnys3596
    @zigmasslusnys3596 5 лет назад +1

    Found your video of right good code not 💩 in my feed, loved you style of explanation and the way you provide the video editing is exceptional 🤩 one of the channels I'll definitely share and follow!

  • @ChadHollman
    @ChadHollman 5 лет назад +15

    Great video! Great explanation, great quality, hoping for that free shirt!!

    • @Fireship
      @Fireship  5 лет назад +6

      WINNER 🎉 - Congrats, you won the T-shirt. Message me with your mailing address and size :)

  • @MartinLP123
    @MartinLP123 5 лет назад +25

    Great video!
    But I wondered if there might be a mistake around 8:00 on the right side. Shouldn't it be 'a = v' instead of 'v = a' if the code should be doing the same?
    Thanks.

    • @rancoxu
      @rancoxu 5 месяцев назад

      correct, i tested it. his code returned undefined as a is undefined and v=a which makes v undefined as well.

  • @daddydo1735
    @daddydo1735 5 лет назад +1

    Another great tutorial from Mr. Delaney! Bravo!

  • @heitormbonfim
    @heitormbonfim 2 года назад

    So far the BEST EXPLANATION I've seen of it with practical usage and short

  • @dangerous_tangerine
    @dangerous_tangerine Год назад +5

    I think you broke my brain.

  • @feschber
    @feschber 5 лет назад +18

    I'm just gonna let this video _sync_ in now

  • @Sam-hj5ok
    @Sam-hj5ok 2 года назад

    You just showed me how much more ground I need to cover in JavaScript. Gets me excited to see I'm not even 10% done. Keep it up 👍🏿

  • @okolin
    @okolin 5 лет назад +1

    Great content! I love quality and how well thought all of your videos!

  • @Afreshio
    @Afreshio 3 года назад +3

    Ok newbie on JS and programming here. Didn't understand most of it, but is fun watching intermediate/advanced content like this and wonder if in my future I'll be able to comprehend and do all of this by myself.

  • @UCFc1XDsWoHaZmXom2KVxvuA
    @UCFc1XDsWoHaZmXom2KVxvuA Год назад +4

    This is top tier stuff. I've been watching Fireship for like 2 years, but it's only now that I'm finding myself forced to actually learn webdev for good. These old videos are still incredibly sharp, I'm really impressed.

  • @pl5778
    @pl5778 Год назад +1

    Top tier stuff. I didn't fully understand the looping concurrently / await individually until now.

  • @TheStrategistYT
    @TheStrategistYT 2 года назад +1

    Before I watched a lot of your videos I was in the first part of the Dunning-Kruger effect, but after watching a ton of your videos I now realize how much I don't yet know.

  • @PaurakhSharma
    @PaurakhSharma 5 лет назад +15

    I await for your next video :)

  • @indrasusila9749
    @indrasusila9749 5 лет назад +42

    and i set the speed setting to 0.75 for this

  • @shankarupadhyay6067
    @shankarupadhyay6067 5 лет назад

    Great explanation, specially when you started it from event loop. Loved the video as well as "Fire.......base...". Thanks

  • @tHekrack23
    @tHekrack23 5 лет назад

    Concise, fast a great explanation. Kudos to you sir

  • @vakyz5333
    @vakyz5333 5 лет назад +3

    New subscriber here. the content quality of video are Amazing.
    i need this in my api thanks

  • @AngelHdzMultimedia
    @AngelHdzMultimedia 3 года назад +5

    "The Async Await Episode I Promised"
    ...and that's how you make a video title.

    • @kevinxin1545
      @kevinxin1545 3 года назад +1

      I did not get it the first time I watched this episode, but now I know a bit more about javascript and when I came back for a review I laughed so hard XD

  • @Glavin883
    @Glavin883 3 года назад

    Your quality of videos is absolutely incredible Sir.

  • @utkarshsaxena7826
    @utkarshsaxena7826 3 года назад +2

    i swear to god for every two minutes i spent watching this video, i had to pause and go read about 2 hours worth of material. Totally worth it tho, i love this fast paced style of teaching.

  • @TwstedTV
    @TwstedTV 5 лет назад +6

    after studying and learning javascript, getting certificates from 4 different online completed courses,
    I watch this video, get depressed and rip up all my certificates and start all over again. so depressing :(
    because i now feel like I didnt learn shit from those courses and have to start all over again from scratch.
    ooh well, back to html and css and eventually javascript yet again :(

    • @AP-rs5wz
      @AP-rs5wz 3 года назад

      Can't be that bad !

  • @brunobarretocarvalho2315
    @brunobarretocarvalho2315 5 лет назад +4

    no jokes? i feel REJECTed
    didn't know about the for loop stuff, cool! about the try/catch: should i wrap all the awaits in one or use a separate try/catch for each await to treat better different errors?
    great video as always!

    • @brunobarretocarvalho2315
      @brunobarretocarvalho2315 5 лет назад

      i feel stupid. i didn't get the initial a sink a weight joke. good one

    • @Fireship
      @Fireship  5 лет назад +1

      That's a great question and almost included a section, but vid was getting long. I would say only 1 try/catch per function, but you might want to chain a catch call back to individual promises for fine grained error handling as needed.

  • @litbro8180
    @litbro8180 2 года назад +1

    This video has helped super-refine my understanding of asynchronous programming in general

  • @dk-gl
    @dk-gl 5 лет назад +1

    This video is the best Async/Await video on RUclips! Keep it up!

  • @debunkitnow
    @debunkitnow 4 года назад +5

    Holy sh*t i need to let this "sync" in so that i can "await" for better time to "express" myself and "promise" to come back....

    • @splch
      @splch 3 года назад +1

      im still awaiting your response

  • @agusmelo1
    @agusmelo1 2 года назад +8

    Got one question that's been bugging me and I can't wrap my head around it. The code on the right - line 67, shouldn't it be inverted? meaning a = v? Because otherwise you would be assigning *v* to an undefined value, and what you should be aiming for is to store the value you have in *v* into *a*, that's the propose of *a*, right? (Pleas someone tell me what I'm missing, thank you)

  • @blokche_dev
    @blokche_dev 5 лет назад +1

    Instructive, as usual! Thank you for clarifying some things about the promises.

    • @Fireship
      @Fireship  5 лет назад

      That's what I'm here for, thanks for watching :)

  • @camperjett
    @camperjett 2 года назад

    I am binging your channel. It's been 2 weeks and am already loving web dev 😀

  • @xTiQ
    @xTiQ 5 лет назад +3

    Always like your video's, really educational. But I always have to watch on 0.75x speed else it goes to fast to understand.

    • @SahilRajput03
      @SahilRajput03 4 года назад

      I usually watch at 2.0 x, you it hardly is a choice of interest. It is not proportional to learning rate though. ;D

  • @tomihawk01
    @tomihawk01 5 лет назад +4

    Async/Await is a double-edged sword. It's a great addition to Javascript but it's also massively misused. I'm trying not to sound "elitist" here, but the complexity of promises and RxJS set a barrier for entry. People needed to understand how to write reactive code, work with asynchronous functions, etc. Now Async/Await has become the hammer for every timing bug that looks like a nail. I've seen the async and await keywords peppered through code in the hope it will magically fix a timing issue, mountains of code needlessly synchronised to the point it's stuttering to a halt on every page load. Hopefully people will take your "trolling" on board and gain an understanding of how it works. Really happy to see the pitfalls covered as well as the benefits.

    • @Fireship
      @Fireship  5 лет назад +1

      I agree with you 100%, that's actually why highlighted some of the misuse and started with the event loop. Overall though, its had an overwhelmingly positive impact on the projects I've been involved with.

    • @LukePighetti
      @LukePighetti 5 лет назад

      Seems pretty simple to me. Batch non-dependent promises with promise.all(), await promises, don't await synchronous code. Surely the benefits of async/await far outweigh the people using it wrong.

  • @gautammishra3436
    @gautammishra3436 5 лет назад +1

    Nice explanation , learned a lot about async and await. Thanks for you frequent videos on practical topics .

  • @jackwalker2639
    @jackwalker2639 2 года назад

    Discovered your channel very late. Thanks for such a clear explanation.

  • @powerofpizzazz
    @powerofpizzazz 4 года назад +27

    i thought it was a 12 min video but i have to watch a 35 min video :(

  • @JamieMcI
    @JamieMcI 5 лет назад +10

    Don't leave a comment! It ruins my chances for a free T-shirt! (Great video!)

  • @jerryjeremy4038
    @jerryjeremy4038 4 года назад +1

    Really indeed very cool!!! Feels like an hour of tutorial. Thanks

  • @algeriennesaffaires7017
    @algeriennesaffaires7017 5 лет назад +5

    So fast u made it so complicated you get me lost more than i was hhhh

  • @ImperiumLibertas
    @ImperiumLibertas 5 лет назад +91

    watchVideo()
    .then(comment())
    .then(winTshirt());

    • @ColinRichardson
      @ColinRichardson 5 лет назад +10

      You do know you are calling and running comment and winTshirt immediately, not waiting for the video to finish? I presume you meant to reference the comment function, not run it?

    • @LukePighetti
      @LukePighetti 5 лет назад +13

      await watchVideo()
      await comment()
      const didWin = await winTshirt()
      if(didWin) console.log("😁")

    • @geovannyquiros5080
      @geovannyquiros5080 5 лет назад +4

      Luke Pighetti you can use it on if conditions :)

    • @bhupendra8429
      @bhupendra8429 5 лет назад

      @@LukePighetti u missed try catch block

    • @buttofthejoke
      @buttofthejoke 5 лет назад +9

      *then* takes a function reference. So unless your comment and winTshirt methods return a function, they would get executed immediately
      watchVideo()
      .then(comment)
      .then(winTshirt);
      or if you Don't want to use response from previous promise
      watchVideo()
      .then(videoWatched => comment())
      .then(commented => winTshirt())

  • @abdulhakimbashir6268
    @abdulhakimbashir6268 5 лет назад

    Always learn new stuff when I come here. Good content

  • @daniellaerachannel
    @daniellaerachannel 5 лет назад +1

    the Jake Archibald talk is fantastic! your tutorial too! thanks

  • @abdullahalkurdi6845
    @abdullahalkurdi6845 5 лет назад +29

    I liked it but it was too fast to digest. Could you please consider making videos less faster. Truly appreciate the value of the info. Thank you

    • @m_usertim2755
      @m_usertim2755 5 лет назад +1

      use vlc, it supports RUclips links natively. You can slow down video however you want.

  • @denniszenanywhere
    @denniszenanywhere 4 года назад +4

    Serious question. Does anyone really like this speed? He is certainly very knowledgeable but I doubt if anyone can really understand him.

    • @avivshvitzky2459
      @avivshvitzky2459 4 года назад +1

      I agree, I usually speed-up videos, but this one as actually too fast for me

  • @zimcoder
    @zimcoder 5 лет назад +1

    This has been madly helpful. I wish I knew this 2 years ago!

  • @troythompson2
    @troythompson2 5 лет назад

    Never disappointed with your videos Jeff!

  • @AnkurGandhi8489
    @AnkurGandhi8489 5 лет назад +50

    The explanation is not very succinct. You could have explained a bit slower

    • @zurikzava9971
      @zurikzava9971 5 лет назад +8

      I have no idea what he's talking about, I had to stop at 3 minutes

    • @qazyhn94
      @qazyhn94 5 лет назад +4

      I watched video like 3 times, and its easier to rewatch it when he speaks fast

    • @julesl2087
      @julesl2087 5 лет назад +3

      I personally love the speed of the explanation. If I don't understand I just pause the video or rewind a bit.

    • @aeriox9916
      @aeriox9916 5 лет назад +4

      I think It’s better as it is - simply as mentioned above - It’s more efficient to rewatch the whole video or a part of it for the sake of understanding rather than get a long one with slow explanation that usually tends to make the viewer get bored and lose focus

    • @hughpapaheffner4957
      @hughpapaheffner4957 5 лет назад +2

      This is an advanced topic, not for beginners. This is the right speed if you know what he is talking about.

  • @beratsulimani9823
    @beratsulimani9823 5 лет назад +6

    async winnerTShirt() {
    await('ME');
    }

  • @shannonhall4871
    @shannonhall4871 5 лет назад +1

    Nice, thanks so much. Jake Archibald really made it clear for me whats going on. Your stuff is always great and i always get something from it even if i think i know already.

    • @Fireship
      @Fireship  5 лет назад

      Thanks! Jake's talk is one of my favorite of all time.

  • @xpkareem
    @xpkareem Год назад

    Oh my god thank you! I will be watching this video every single time I need to write asynchronous javascript for the foreseeable future. I have been making a couple of these mistakes you pointed out. This video deserves 20 billion views.

  • @AdrianGordon1231
    @AdrianGordon1231 4 года назад +34

    Whoa whoa, slow down a little man. Great content but you are going way too fast. I know it definitely takes more effort and may not be worth it, but if you type out the code instead of coping and pasting the slowed pacing will make it much easier for your audience to grasp the concepts.

    • @Cromzinc
      @Cromzinc 4 года назад +1

      I agree, I had to put him on .75 playback.

    • @vnrbhat
      @vnrbhat 4 года назад

      I had same thought, I had to rewind many time to understand "billion loop".

    • @okie9025
      @okie9025 4 года назад +10

      this isnt a tutorial

  • @vladimirzizic6874
    @vladimirzizic6874 3 года назад +4

    Great job, however, this was very fast. It`s so much info in 12 minutes. I was pausing and rewinding hundreds of times.

  • @BitcoinJake09
    @BitcoinJake09 2 года назад +1

    Im teaching myself Async Await in Python right now. Was very confused at first. I got my code to run, but this video helps me understand it better still.

  • @sagar_pawar27
    @sagar_pawar27 3 года назад

    I had spent lot of hours to read so many articles about async await & promises but this guy clear my concept in just 10min

  • @wabisabi7727
    @wabisabi7727 5 лет назад +23

    you talk so fast. i cant watch whole things clearly

    • @HarshithJV
      @HarshithJV 4 года назад +1

      yup. way too fast. I slowed down to -0.75 speed. 😂

  • @glatocha
    @glatocha 4 года назад +12

    that's way too fast. I got discourage after 2 minutes

  • @bhuvanesharasu
    @bhuvanesharasu 4 года назад

    Wow! Just wow. Have no words to explain. You were really clear..... Thanks a lot.

  • @mlotov3838
    @mlotov3838 2 года назад +1

    I admire how you explain why async await even exists in the first place and that you should use it in a certain way to achieve maximum efficiency.
    Keep it up ur the best, OG subscriber :)

  • @vinisantos.
    @vinisantos. 2 года назад

    What a video, brother!
    I've read about it and watched quite a few videos with examples and it was still not clear.
    They all show you a promise converted to Async/Await...all of them failed to provide the context with the event loop in the manner you did.
    Best explanation hands down. Thanks for the great content.
    I just subscribed.
    P.s.: Yes...3 years after the last comment... :)

  • @TheDeepanj
    @TheDeepanj 5 лет назад

    You share best tech knowledge that too wrapped in smallest amount of time... Kudos... Loving ur stuff 😊

  • @gw2realm
    @gw2realm 5 лет назад

    Really appreciate your videos, pushing me to be a better dev!

  • @panconcianuro
    @panconcianuro 4 года назад +1

    Thank you so much. Your tutorials are great 🥳. Greetings from Chile

  • @juhavehnia7862
    @juhavehnia7862 Год назад

    The best tutorial for async functions I've ever seen!

  • @fernandonicolalde6332
    @fernandonicolalde6332 5 лет назад

    One of the best channel out there !!! Excellent content

  • @shubhambahre9021
    @shubhambahre9021 4 года назад

    What a video. You can't miss even a second of it

  • @jafar1607
    @jafar1607 5 лет назад

    Wow. Such a lovely explanation.
    Great work

  • @lukaschen6799
    @lukaschen6799 4 года назад +1

    The video you promised that we long awaited for.

  • @micahgoodreau
    @micahgoodreau 5 лет назад

    awesome job. love your vids, keep the coming!

  • @victorbustamante1647
    @victorbustamante1647 Год назад

    man i was struggleing to get why await wasnt waiting in a foreach loop... needless to say thanks mate, i just came thru that thanks to you

  • @murugans1623
    @murugans1623 5 лет назад

    Please this time choose me. I'm following this channel right the beginning and I have implemented so many in my development using your tips. I never interested in getting t-shirts but as the days goes by seeing your videos making me to think that I should probably get your t-shirt and I should don it proudly saying you're my teacher. And again you're great. Man seriously you're awesome and the way you'll explain things is impeccable.

  • @sivuyilemagutywa5286
    @sivuyilemagutywa5286 5 лет назад

    very clear, professional and awesome explanation