Asynchronous Vs Synchronous Programming

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2024

Комментарии • 233

  • @nathalierautell5259
    @nathalierautell5259 4 года назад +193

    I love that you are straight to the point with a clear and short explanation. It makes things a lot easier. Appreciated! 🤩

  • @SiRexable
    @SiRexable 2 года назад +43

    Nice explanation, but just to add even if you put setTimeOut 0ms it will still excecute last after all synchronus code is done and stack is empty. Thats because async funtions appear on the stack at call time and are immediately pushed off and added to webapis stack where count down begins and since its 0 so the callback of setTimeout gets immediately it gets pushed to task queue ( not call stack ), where spinning event loop is gonna pop this callback function on the main stack once its empty. So even if you have 5 set time outs with 0 ms and 1 console log at the end set timeouts gonna run after console.log because as i mentioned above async functions are pushed back on stack only after main stack is empty

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

      lucid explanation, thanks man

  • @richardwalters9249
    @richardwalters9249 4 года назад +94

    seems that, if you get things confused, you can replace synchronous with the word "sequential"execution ... and asynchronous with "parallel" execution. Which type blocks will also become clear as well.

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

      My good sir, that's such a great way to summarize it

    • @datboijdope
      @datboijdope 2 года назад +12

      @@GerardBeaubrun Not quite. JavaScript isn't parallel as it is runs as a single threaded process. For asynchronous functions is uses an event loop.

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

      @@datboijdope exactly

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

      ​@@datboijdope smart man

  • @billynovrando9383
    @billynovrando9383 4 года назад +64

    "Not every single function that takes an argument is asynchronous, but in general, most function that takes function argument are going to be asynchronous"
    Thank you, this line clears things for me. Much appreciated

  • @srikanthathikari9995
    @srikanthathikari9995 3 года назад +11

    100% crystal clear explanation. I was looking at videos that are lengthy, I could not get my head around them. Really liked the way you explained async with then example. Thanks tons.

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

    every single video from your channel clears so many concepts in my head, i cant even start to tell you..thank you so much from the core of my heart

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

    Always a great resource for me, short and full of relevant info. Plus I like the clicky keyboard sounds. Awesome video, yet again! Thanks, Kyle!

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

      I totally agree. Especially the clicky keyboard part!

  • @queenscript
    @queenscript 3 года назад +20

    Wow, as someone who feels more intermediate than total beginner, I felt that you really validated my learning curve. Thank you!

  • @kimkim-bm8he
    @kimkim-bm8he Год назад

    you are the best youtube web dev creator. Love the show. My tip is that instead of having to type console.log() each time. Just type log and vscode will auto complete the code for you. THanks for the video

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

    I am a big big fan of your short & crisp concept clearing videos 🧡🧡🧡

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

    Thanks alot. I have learned promises callbacks and async await but still I was confused between async and sync terms. Your example completely cleared all concepts async JS.

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

    Short and helpful, thank you very much! =]

  • @adarshnayak6803
    @adarshnayak6803 2 года назад +2

    Your videos are straight to the point and that just amazing. Thank you for making them.

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

    I searched and searched, nothing helped me...and on top of that, those things made me confused :(, but you just made it soo easy for me!!!! Thank you! subbed!

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

    Thank you for getting to the point, and explaining this concept in clearest possible terms.

  • @BadalKumar-pi7ud
    @BadalKumar-pi7ud 2 года назад

    Spot On. The way you explained everything so easily. it is appreciable.

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

    Keep it simple and objective just as you are. You clarify the web dev in a way its much easier to learn. For a non native english speaker, your chanel is one of my favorite learning resource. Thank you very much and my best reggards from Brazil. (:

  • @chienhsiang-hung
    @chienhsiang-hung 2 года назад

    the best explaination of the async feature in js ever

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

    Dude, you just gave the best start to learn more about Async Programming.
    btw, whats your VS code theme, font, setup...

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

    Love all of your videos! You make everything so easy to understand! Thank you!!

  • @AmitKumar-ix3kq
    @AmitKumar-ix3kq 3 года назад

    Simple , Short , Concise. Thank You.

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

    Short, clear video on Async Programming. Thanks.
    {2021-07-20}

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

    You have explained the concept so well! Thank you : )

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

    Very straightforward I wonder why they're not just teaching like that in schools

  • @Ari-pq4db
    @Ari-pq4db 9 месяцев назад

    Thank You sir , You have cleared the doubts that were blowing my head ❤

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

    Whaaat, didnot know of this before your video. Thank you very much for sharing this

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

    thank you brother!! very well explained!! keep it coming!!

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

    Describing Javascript execution as multi-threaded (as at 1:15) is a bad idea and teaches the wrong mental model. Look up concepts like run to completion, event loop, call stack to understand what's going on better. For example, in the setTimeout call, even if you put the delay to 0 instead of 100 it will still print 10. If you understand the concepts I mentioned you will know why.

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

    It took me watching 4 videos until I found this one. It was perfect!

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

    Wow very straight to the point.... Awesome! Double thumbs up

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

    Such a simple and effective way to explain this. 🤙🏻🖤

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

    Explained wonderfully 🙏

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

    I love your keyboard sound whenever you typed which makes me motivated.

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

    Thank you it's really helpful for me.

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

    The best in explaining stuff.......big ups man

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

    Wooooow I couldn’t understand the difference between synchronous and asynchronous code until a I watched his video thank you!

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

    Thanks, your clear explanation helped me understand this concept better. :)

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

    Asynchronous code won't execute until the call stack is empty. So you you set a setTimeout function to run with 1ms but then called a function that did a lot of work, the code inside the setTimeout function won't run until the other function was popped off the call stack even though more than 1ms would have already passed. Technically JavaScript is a synchronous language with only 1 thread but it has some clever ways of emulating multi-threaded programming.

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

      Even if you make it 0ms what you said is true

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

    Killer explanation, you made some stuff clearer for me in no time.

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

    pretty clear and straightforward explanation ..... Thanks !!

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

    Thanks sir. It was really simple explanation!

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

    very clear explanation, good examples
    thank you man 👌👌👌

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

    Hey Kail. At 6:33, I think what you were trying to say was: Every asynchronous function takes a function argument, but not every function that does so is asynchronous.
    You actually said the second part in two ways.
    Can you please tell us more about promise and fetch functions: I really did not get it with this video. Thanks !

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

      A promise operates in an async manner by default thereby it wait till all the data is fetched in the .then function....
      Its similar to using async and await in a fetch method (typical synthetic sugar)

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

    Love your newsletter

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

    Awesome! Thanks for this video.. You have explained the concepts very well

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

    Thank you so much, This tutorial helped me a lot to get the concept clear.

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

    Very straightforward explanation thank you and godbless you.

  • @thesue112-v2r
    @thesue112-v2r 3 года назад

    I’ve noticed a guitar in the background in your videos. Did you make the intro riff :P

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

    Thank you ! Learned a lot in just 7 minutes !

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

    Note that JS async is single threaded on both browser and NodeJS.

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

    Very good explanation of the concept.

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

    Nice explanation. Simple and clear!!

  • @useruser-bv1ej
    @useruser-bv1ej 3 года назад

    Thanks, The first video that helped me!

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

    Isnt 06:00 supposed to print a value to be 1 since it is inside a closure function which is stored at the memory with the value of (a) which was 1 at the time the execution saw the closure function and stored it in memory ?

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

    This is how good teachers teach. Thanks a lot

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

    This was very helpful Kyle, thank you!

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

    Alas! I found one great example of what Async really is.

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

    I don't think fetch returns quicker than set time out. Fetch returns first because it gets put in to the micro-task queue and setTimeout gets put in to the callback queue. Anything in the micro-task queue gets preference and will be executed before anything in the callback queue even if setTimeout is faster than fetch.

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

    in my task manager, theres something called "sink to asyncronis something" should i end that task??

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

    Thank You So Much Brother.......🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @pamintuanjohnjosuahm.2492
    @pamintuanjohnjosuahm.2492 Год назад

    Thank you, Kyle!

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

    Hi sir, i just want to know where to learn such synchronous and asynchronous programming after completing my masters of computer application.

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

    Thanks a lot, I really tapped into the concept

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

    So why does
    let res = await fetch()
    console.log(“a”)
    console.log(res)
    Result in synchronous blocking code?

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

    Thank you man ! That was very helpful

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

    Thanks for the video, i can get more understanding about async js 👍

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

    thanks, bro you have clear this concept abut sync and async with nice example

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

    Given the scenario mentioned in the video, how can we get a =1 instead of a becoming 10 for an async operation?

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

    So basically if you would have 3 synchronous functions, first function number 1 needs to run and finish. Then function number 2 needs to run and finish. Then finally function number 3 runs and finishes. But if you have 3 asynchronous functions, all of them run at the same time so you don't need to wait for each function to finish in order to run another one. Do I get this correct?

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

      I think so good. But I just learn this...

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

    Thank you i love the way you explain things .

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

    Please make vid about error handling in async code try/catch vs then/catch mixing callbacks/promises/async-await, chaining promises, rewriting one style to another and also some best and worst practises in async programming.
    Beside async programming please make vid about writing backend (dco dto repository swagger etc)
    Thank you

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

    Thank you for the explanation

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

    Well explained! Best I have seen.

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

    great explanation. thanks!!

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

    excellent video mate! Really helpful!

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

    Thank you. Good video, very clear.

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

    Thank you so much, this was helpful

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

    Thank you very much it was concise and helpful

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

    Hi, Can you make a video on how javascript works while executing the code internally? Thanks a lot! And amazing videos thank you!!

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

    thanks for the video Kyle

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

    Unfortunately, I get the following error: ReferenceError: fetch is not defined
    Can someone help me out?

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

      You most likely are on a browser that does not support fetch. Try a newer browser like Chrome.

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

    JS run time model is based on event loop that uses queue , and queue is in FIFO manner then why does setTimeout not get executed before fetch?

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

      he answers that at 4:50, it doesn't matter who came first in the code between setTimeout and fetch, it matters who finishes first, that's what decides which function will enter the event loop queue first

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

    Very good explanation

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

    thank you for this great explanation

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

    Brilliantly explained!

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

    Great video man! You helped a lot.

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

    Thanks I got a clear understanding about asynchronous programing :-)

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

    what should we do when we want to pass the variable "a" with its at the time we are calling the Settimeout async function?!

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

      I'm just learning this too, but I guess if you want to use an outside variable inside your async functions, you can always clone the value into another variable inside that function.
      Like in this case
      setTimeOut(() => {
      let b = a;
      code with b
      }, 100)
      I guess? :P

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

    Thank you! This makes a lot of sense

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

    great video. I am more confused about scope within the Async function. can you assign a value to global variables within an Async function. for some reasons, I cannot seem to get that to work

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

    Very cool, Do make a complete vedio on nodejs

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

    Very good explaination

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

    Very well explained

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

    THANK YOU!! FINALLY SOMEONE

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

    Is there a way to execute something only after a specific asynchronous function has finished executing?

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

      You need to pass that asynchronous function a callback, have it return a promise, or make that function async and await its completion. If you can't do any of that, then there isn't a really good clean way to do it.

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

    when i am define fetch its gives me error fetch is not defined
    at Object. (here path of file and line number)
    i am confused why i am getting this eror

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

    Helpful and very very clear

  • @DivineInspiration-d2p
    @DivineInspiration-d2p 2 года назад

    great explanation thanks!

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

    Your videos are so ... I am lost the words wonderful.

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

    Awesome explanation!!!!